1.文件的基本操作
打开关闭文件
推荐)
<_io.TextIOWrapper name='file.py' mode='r' encoding='UTF-8'> <_io.TextIOWrapper name='file.py' mode='r' encoding='UTF-8'>
文件打开方式
加个b的作用:以二进制的格式打开文件,进行上述操作 。
读取/写入文件
注意:文件读取完后光标移动到文尾,再读取则为空白。
读文件实例
with open('mypython.py') as f: content = f.read() # print(content) # content2 = f.read() print(content2) # f.seek(0) # con = f.read(10) #10 print(con) #10 con2 = f.read() # f.seek(0) cont = f.readline() # print(cont) # f.seek(0) conten =f.readlines() # print(conten)
写文件实例
with open('mypython.py','w') as f: # content = '' f.write(content) # f.flush() # f.close() # with open('mypython.py','a') as f: # content = '' f.write(content) f.flush() f.close() with open('mypython.py','w+') as f: content = '' f.write(content) f.flush() f.seek(0) # con=f.readline() print(con) f.close()
文本模式与二进制模式
1)文本模式
2)二进制模式
2.StringIO与BytesIO
即是假文件,暂存于内存中,用于临时使用,关闭后数据全部丢失
首先导入io模块
import io
例:
import io f = io.StringIO() f.write('\n') print(f.getvalue())
第一行 第二行
3.上下文管理
即第二种打开文件的方法
with...as..
4.常见问题处理
文件访问编码
open(file_path, mode='r', encoding='utf-8')
文件打开编码若和文件写的编码不一致会出现乱码
以下两个模块是对操作系统的文件进行的操作,也就是虚拟机下的文件
os模块的目录及文件操作
os模块的路径操作
使用前需导入os模块 import os
例:遍历某目录下的所有文件和文件夹
import io import os filelist = list() #directorylist = list() #def traverse(path): # if os.path.isfile(path): # filelist.append(os.path.basename(path)) else: # li=os.listdir(path) for i in li: # if os.path.isdir(i): directorylist.append(os.path.basename(i)) traverse(os.path.join(path,i)) # file = traverse('/home/pyvip/py_case') #print(':',filelist) print(':',directorylist)
文件: ['file.py', 'fity.py', 'mypython.py', 'city.py', 'newfile.py', 'new.py', 'newfile.py'] 文件夹: ['a', 'venv']
文章来源: 10.Python的文件操作