标签:16px import db2 point mode 缓冲 files err dir
首先贴上该方法的基本传入参数:
def open(file, mode=‘r‘, buffering=None, encoding=None, errors=None, newline=None, closefd=True)
在实际操作中,我们比较常用的是files,mode和encoding这3个参数
让我逐个介绍:
encoding:以什么编码打开,这个要注意,假如打开的编码和实际的编码不相同会出现乱码现象
接下来会详细介绍每个操作
读文件
f = open("File.txt","r",encoding="utf-8") print(f.read()) """运行结果 这是测试文件的第一行 First 998 """
当不知道文件编码的时候
import chardet f = open("File.txt", "rb") data = f.read() print(chardet.detect(data)) # 运行结果:{‘encoding‘: ‘utf-8‘, ‘confidence‘: 0.99, ‘language‘: ‘‘} # 当我们不知道文件编码格式的时候,我们可以导入chardet这个模块 # 使用其detect方法,会返回一个字典,confidence就是代表我们encoding的值的编码正确的概率 encoding = chardet.detect(data)["encoding"] print(data.decode(encoding))
写文件
f = open("File.txt", "w", encoding="utf-8") f.write("这是插入的新内容") f.close() f = open("File.txt", "r", encoding="utf-8") print(f.read()) # 运行结果:这是插入的新内容 f.close() # 当插入新内容时,文件会删除之前的全部内容,重新写入内容
追加
f = open("File.txt", "a", encoding="utf-8") f.write("这是新内容。") f.close() f = open("File.txt", "r", encoding="utf-8") print(f.read()) # 运行结果:这是旧的内容。这是新内容。 f.close()
读写模式
f = open("File.txt", "r+", encoding="utf-8") print(f.read()) # 结果是:这是旧的内容。这是新内容。 f.write("这是更新的内容。") f.flush() # 立刻将文件内容从内存刷到硬盘 print(f.read()) # 结果是:这是旧的内容。这是新内容。这是更新的内容。 f.close()
写读模式
f = open("File.txt", "w+", encoding="utf-8") print(f.read()) # 结果是:不打印任何东西 f.write("这是更新的内容。") print(f.read()) #结果是:在原文件看见:“这是更新的内容。” 这个写读模式只可以读写入的内容 f.close()
文件操作常用方法
# 打开文件方法1:open() f = open("File.txt", "r+") # 打开文件方法2:with open() 这种方法操作完成后,会自动关闭不需要close() with open("File.txt", "r+") as f: f.read() # 读取文件内容(可指定每次读取字字符) f = open(‘File.txt‘, ‘r‘, encoding=‘utf-8‘) ret = f.read(8) print(ret) # 结果是:这是File文件 # 读取数据(可指定读取字符数),存为list显示 f = open(‘File.txt‘, ‘r‘, encoding=‘utf-8‘) ret = f.readlines() print(ret) # 结果是:[‘这是File文件里面的内容。\n‘, ‘Test‘] f.close() # 读取一行数据 f = open(‘File.txt‘, ‘r‘, encoding=‘utf-8‘) ret = f.readline() print(ret) # 结果是:这是File文件里面的内容。 f.close() # 判断是否可读(不可读则报错" No such file or directory: ") f = open(‘File.txt‘, ‘r‘, encoding=‘utf-8‘) ret = f.readable() print(ret) # 结果是:#True f.close() # 指定文件中指针的位置 f = open(‘File.txt‘, ‘r‘, encoding=‘utf-8‘) ret = f.read(8) # 先读取8个字符 print(ret) # 结果是:这是File文件 f.seek(0) # 然后把指针移动到文件开头处 ret = f.read(8) # 在重新读取 print(ret) # 结果是:这是File文件 f.close() # 获取指针位置 f = open(‘File.txt‘, ‘r‘, encoding=‘utf-8‘) ret = f.read(8) # 先读取8个字符 print("pointer position:%s" % f.tell()) # 查看当前指针位置 结果是:pointer position:16 print(ret) f.seek(0) # 重置指定到启始位 print("pointer position:%s" % f.tell()) # 在查看指针位置 结果是:pointer position:0 f.close() # 刷新文件内部缓冲区 f.flush()
标签:16px import db2 point mode 缓冲 files err dir
原文地址:https://www.cnblogs.com/Ojia/p/9484865.html