Python文件操作详解:打开、读写与with语句

5星 · 超过95%的资源 0 下载量 4 浏览量 更新于2024-08-30 收藏 77KB PDF 举报
--------------------------- 运行结果: my sas aaa fsafsa 中文 中文 葫芦娃 readline()是读出一行,如果文件有多行内容,每次调用会读取下一行,直到文件结束。 readlines()是读出所有行,返回一个包含文件所有行的列表,每一项都是一个字符串。 写操作: 写入文件内容: print("w".center(50,'-')) with open("file.txt", "w", encoding="utf-8") as f: f.write("这是新的内容\n") f.write("再次追加内容\n") 在写入模式("w")下,如果文件已存在,原有内容会被清除;如果使用追加模式("a"),则会在文件末尾添加内容。 with语句的使用: Python推荐使用with语句来处理文件,这样可以确保文件在使用完毕后自动关闭,避免资源泄露。例如: print("with".center(50,'-')) with open("file.txt", "r", encoding="utf-8") as f: content = f.read() print(content) 这里,我们使用了with关键字来打开文件,当代码块执行完毕后,Python会自动调用文件对象的close()方法关闭文件。 文件定位: 除了读写操作外,还可以通过seek()方法移动文件指针的位置,告诉文件从哪里开始读取或写入。tell()方法则用来获取当前文件指针的位置。 f.seek(offset, from_what) offset:偏移量 from_what:基准位置,0表示文件开头,1表示当前位置,2表示文件结尾 例如,要将文件指针移动到文件开头并读取第一行: f.seek(0) print(f.readline()) 文件的其他常用函数: - tell():获取当前文件指针的位置。 - truncate():截断文件,如果提供了size参数,则截断到指定大小,否则截断到当前文件指针的位置。 - flush():强制将缓冲区中的数据写入文件。 Python提供了丰富的文件操作功能,包括各种打开模式、编码处理、读写操作以及文件定位等。通过熟练掌握这些函数,我们可以方便地对文件进行读取、写入、追加等各种操作,同时,使用with语句能确保文件操作的健壮性。在实际编程中,根据需求选择合适的文件操作方式至关重要。