python对文件的操作
规则:open(file_name[,access_mode][,buffering])
参数说明
file_name:、文件路径+文件名称,加路径从路径开始访问,不加路径直接访问的是与你编辑的py文件在同一目录下的文件
access_mode:打开文件的方式:默认为只读模式,r
其他打开文件的方式:
'r':只读
'w':写
'a':追加
'r+' == r+w : 可读可写,主要为读,若文件不存在会出现保存
'w+' == w+r :可读可写,主要为写,文件若不存在就创建一个文件
'a+' ==a+r :可追加可写,文件若不存在就创建
如果为二进制文件,则在后面加个b,例如:wb
对文件操作时要注意编码格式,不然会出现乱码。默认格式为utf-8
1 # --*-- coding:UTF-8 --*-- 2 3 # 打开文件并读取文件 4 f = open(r'file.text') 5 print(f.read()) 6 f.close() 7 # 结果:你发顺丰发撒疯 是发撒疯 发 8 # open 打开, read为读取文件内容, close为关闭文件 9 10 11 # 打开一个不存在的文件 12 # f = open(r'/User/xxx/s.text') 13 # 结果:FileNotFoundError: [Errno 2] No such file or directory: '/User/xxx/s.text' 14 15 16 # 如果直接打开文件的话必须要关闭文件,写的时候不关闭会写不进去内容的 17 # 用with open的时候直接使用,就不需要关闭文件了 18 with open(r'file.text') as fp: 19 print(fp.read()) 20 # 结果:你发顺丰发撒疯 是发撒疯 发 21 # fp是将文件缩写,以fp代替文件 22 23 24 ''' 25 读取文本的三种方法: 26 read:读取文本的所有内容 27 readline:读取文章的一行 28 readlines() 自动将文件内容分析成一个行的列表读取 29 ''' 30 31 32 33 # 写文件 34 with open('learning.txt', 'w') as fp: 35 fp.write('Hello, world!') 36 # 结果:自动新建一个learning.txt的文件,并且存入内容hello ,world! 37 38 ''' 39 写入文本的两种方法: 40 write():将内容写入文本中 41 writelines():针对列表的操作 42 ''' 43 44 45 # 举例说明readlines和writelines 46 with open('text.txt','w') as fp: 47 fp.writelines(['123\n', '234\n', '345\n', '456\n',]) 48 # 结果: 49 ''' 50 123 51 234 52 345 53 456 54 ''' 55 56 with open('text.txt','r') as fp: 57 print(fp.readlines()) 58 # 结果:['123\n', '234\n', '345\n', '456\n'] 59 60 61 # 文本后面追加内容用a模式,不然就直接覆盖了之前的内容 62 with open('learning.txt', 'a') as fp: 63 fp.write('\nHello, world!') 64 # 结果: 65 ''' 66 Hello, world! 67 Hello, world! 68 '''