python基础之文件内容介绍

一.文件的操作

    1.打开文件

       file_object=open(filename,mode='r',buffering=-1)

          open返回一个文件对象,文件对象可迭代

           mode为可选参数,默认值为‘r’

           buffering为可选参数,默认值为-1,表示使用默认缓冲,0表示不使用缓冲,1或大于1的值表示缓冲一行或指定缓冲区大小

       open()函数--mode

mode   功能
r 只读方式打开文件
w 以写方式打开文件并清空原文件内容,没有就创建文件写
x 以写方式打开文件,如果文件存在则报错
a 以追加方式打开文件
r+   可读,可写,通过seek定位指针位置,想在那写就在那里写(写的内容是向后覆盖)
w+ 先清空原内容,再可写, 可读
a+ 可读,可写(不管指针位置在那里,永远追加到文件尾)
x+ 文件存在就报错,不存在就创建可读,可写

rb  或 r+b

 "b"表示以字节的方式操作;
以二进制读或二进制读写打开文件(参见r或r+)
wb或w+b 以二进制写或二进制读写打开文件(参见w或w+)
xb或x+b 以二进制写或二进制读写打开文件(参见x或x+)
ab或 a+b 以二进制追加或二进制读写追加打开文件(参见a或a+)

      

    2.操作文件       

   read()   #无参数,读全部内容,有参数,无b按字符读;有b按字节读
tell() 获取当前指针位置(字节)
seek() 指针跳转到指定位置(字节)
write() 写数据,无b写字符,有b写字节
close() 关闭文件(关闭前会刷新缓存区的内容到磁盘)
fileno() 文件描述符
flush() 刷新到硬盘
readable() 判断是否可读
readline() 仅读取一行
truncate() 截断数据,只保留指针前面的内容,指针后面的内容清空
for 循环文件对象,eg
f=open('dd',r)
for line in f:
print(line)

    3.关闭文件

             文件关闭调用close()方法或者使用with管理上下文, with打开文件操作完后会自动关闭文件(可以同时打开多个文件)

   #把db1文件里前10行,写入db2文件里
with open('db1', 'r', encoding='utf-8') as f1, open('db2', 'w', encoding='utf-8') as f2:
times=0
for line in f1:
times += 1
if times <= 10:
f2.write(line)
else:
break


二.内置函数的补充
ASCII码的转换:
chr() 把数字转换成ascii码里的字母,chr(65)结果为大A
ord() 把字母转换成ascii码里的数字,ord(‘a’)结果为97
bytes() 把字符串转换为python的字节码,eg,bytes('解释',encoding='utf-8')运行结果为:b'\xe8\xa7\xa3\xe9\x87\x8a'
str() 把python字节码转换成字符串,eg str(bytes('解释',encoding='utf-8'),encoding='utf-8'),运行结果为: 解释
compile() 把字符串或python文件编译成python的字节码
exec() 执行编译后的python字节码,可以接收字符串编译执行,也可以执行字符串表达式,不返回结果
eval() 执行字符串表达式,并返回执行结果
    s = 'print(123)'
com=compile(s,'<string>','exec')
print(com) #运行结果:<code object <module> at 0x00622660, file "<string>", line 1>
exec(com) #运行结果为:123
print(eval(('8-2+88')) 运行结果为94
print(exec('9-8+9') 返回结果为None






posted @ 2016-11-30 13:50  远匿  阅读(241)  评论(0编辑  收藏  举报