python基础(9)-----文件操作

文件处理流程

打开文件---〉获取文件对象---〉关闭文件

基本操作

读取文件

1、格式

       f = open('<路径+文件名>','<模式>'...) # 默认为r模式只读(read)

  first_line = f.read_line() # 读取第一行

  print(first_line)

  f.close() # 关闭文件

打开文件的模式有:

r ,只读模式【默认模式,文件必须存在,不存在则抛出异常】
w,只写模式【不可读;不存在则创建;存在则清空内容】
x, 只写模式【不可读;不存在则创建,存在则报错】
a, 追加模式【可读;   不存在则创建;存在则只再末尾追加内容】

2、示例:

f = open('gc.txt', encoding='utf-8')
a = f.read()  # 默认全部读取仅限于小文件,程序先把文件读取到内存里,这样的话大文件会很慢
print(a)
f.close()  # 关闭

其他

f = open('/ljy/gc.txt', encoding='utf-8') # 默认为r模式只读(read)
first_line = f.readline() # 读取第一行
print(first_line)
f.close() # 关闭文件


#按行全部读取为list
f = open('gc.txt', encoding='utf-8') # 默认为r模式只读(read)
a = f.readlines()  # 按行全部读取为list
print(a)
f.close()  # 关闭

f = open("fileone","r+",encoding="utf-8") #打开文件并且是读写权限,打开文件往里写
f = open("fileone","w+",encoding="utf-8") #打开文件并且是写读权限,先创建一个空文件再往里面写
f = open("fileone","rb") #文件句柄,以二进制打开
f = open("fileone","wb") #文件句柄,以二进制打开
f.write("ceshi".encode()) #m默认以服务器字符集写入
f.readline()
f.readline()
print(f.tell())

 

写入文件

"+" 表示可以同时读写某个文件:

r+, 读写【可读,可写】
w+,写读【可写,可读】
x+ ,写读【可读,可写】
a+, 写读【可读,可写】

"b"表示以字节的方式操作,需要decode解码,encode编码,二进制可编辑图片,音频等等

rb  或 r+b
wb 或 w+b
xb 或 w+b
ab 或 a+b

以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型,不能指定编码 

 

写入实例:

#创建一个新文件并写入,如果原来有这个文件会被清空
f = open("gc.txt","w",encoding="utf-8") #w创建一个新的文件,并允许写入
f.write("第一句话\n") #写入内容
f.write("第二句话\n")   #写入内容

#在文件中追加内容
f = open("gc.txt","a",encoding="utf-8") #a表示append是追加的意思
f.write("第三句话\n") #写入内容

#指针问题
f = open("gc.txt","r",encoding="utf-8")
print(f.tell())    #打印当前句柄指针
print(f.readline())  #逐行读取
print(f.readline())
print(f.readline())
f.seek(0)    #返回指针0位置
print(f.tell())

 

posted @ 2019-02-26 15:15  jayonlau  阅读(248)  评论(0编辑  收藏  举报