赞
踩
""" Author:黄骏捷 Date:2019-10-10 操作模式 具体含义 'r' 读取 (默认) 'w' 写入(会先截断之前的内容) 'x' 写入,如果文件已经存在会产生异常 'a' 追加,将内容写入到已有文件的末尾 'b' 二进制模式 't' 文本模式(默认) '+' 更新(既可以读又可以写) 读取文本文件 from datetime import time from fileinput import filename from math import sqrt def main(): f = open('致橡树.txt','r',encoding='utf-8') print(f.read()) f.close() if __name__ == '__main': main() """ from math import sqrt """ 如果open函数指定的文件不存在或者无法打开,那么将引发异常状况导致程序崩溃。 为了让代码有一定的健壮性和容错性,使用py的异常机制进行处理 def main(): f = None try: f = open('致橡树.txt','r',encoding='utf-8') print(f.read()) except FileNotFoundError: print('无法打开指定的文件!') except LookupError: print('指定了未知的编码!') except UnicodeDecodeError: print('读取文件时解码错误!') finally: if f: f.close() if __name__ == '__main__': main() """ """ 可以使用for-in循环逐行读取 或者 readliness方法 将文件按行读取到一个列表容器中 def main(): #一次性读取整个文件内容 with open('致橡树.txt','r',encoding='utf-8') as f: print(f.read()) #通过for-in循环逐行读取 with open('致橡树.txt',mode='r') as f: for line in f: print(line,end='') time.sleep(0.5) print() #读取文件按行读取到列表中 with open('致橡树.txt') as f: lines = f.readlines() print(lines) if __name__ == '__main__': main() """ """ 将文本信息写入文件 1-99之间的素数保存在a.txt中,100-999之间的素数保存在b.txt中,1000-9999之间的素数保存在c.txt中 """ def is_prime(n): """判断素数的函数""" assert n>0 for factor in range(2,int(sqrt(n))+1): if n % factor == 0: return False return True if n != 1 else False def main(): filenames = ('a.txt','b.txt','c.txt') fs_list = [] try: for filename in filenames: fs_list.append(open(filename,'w',encoding='utf-8')) for number in range(1,10000): if is_prime(number): if number<100: fs_list[0].write(str(number) + '\n') elif number<1000: fs_list[1].write(str(number) + '\n') else: fs_list[2].write(str(number) + '\n') except IOError as ex: print(ex) print('写文件时发生错误!') finally: for fs in fs_list: fs.close() print('操作完成!') if __name__ == '__main__': main()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。