Python之文件读取、写入和异常处理操作举例
# 文件读取、写入和异常处理操作举例 # 带参数encoding='utf-8'可解决UnicodeDecodeError编码问题 ###### 基础方法 ###### # 新建文件并覆盖写入 file_path = "D:\\test_data\\test.txt" f = open(file_path, "w") f.writelines("hello world!") f.flush() # 刷新文件 f.close() # 关闭文件,自动刷新 # 读取文件并追加 ff = open(file_path, "r+") print(ff.readable()) # True print(ff.writable()) # True txt = ff.read() print("文件内容:", txt) # 输入内容 txt = input("请输入内容:") print("输入内容:", txt) ff.writelines("\n" + txt) ff.seek(0) # 重头读取文件 txt = ff.read() print("文件内容:", txt, sep="\n") ff.close() ###### with上下文管理器 ###### file_name = "D:/test_data/file_demo.txt" with open(file_name, 'w') as write_file_obj: '''写入文件''' write_file_obj.write("hello\n") write_file_obj.write("world\n") with open(file_name, 'a') as write_file_obj: '''追加文件''' write_file_obj.write(" ! ") with open(file_name, encoding='utf-8') as file_obj: '''读取文件全部内容''' whole_context = file_obj.read() print(whole_context.strip()) print('------------------------') with open(file_name, encoding='utf-8') as file_obj: '''逐行读取文件内容''' for line in file_obj: print(line.strip()) # 去除左右空格 print('------------------------') with open(file_name) as file_obj: '''列表形式读取文件内容''' lines = file_obj.readlines() for line in lines: print(line.strip()) # 去除左右空格 print('------------------------') file_name = "D:/file_demo_none.txt" try: '''异常处理:文件不存在''' with open(file_name) as file_obj: whole_context = file_obj.read() print(whole_context.strip()) except FileNotFoundError: print("File '" + file_name + "' not found!") else: print("File '" + file_name + "' exists!") finally: pass