Board logo

标题: 文件操作(创建、读取、写入、追加) [打印本页]

作者: admin    时间: 2019-9-26 09:49     标题: 文件操作(创建、读取、写入、追加)

例子一: 检测指定文件是否存在: #coding=utf-8 Path_1 = "D:/test.txt" #绝对路径 try: f_name = open(Path_1) #打开文件;如果文件不存在就会报错 f_name.close() #关闭文件 print("文件存在。") except: print("文件不存在。") 脚本运行的结果:(文件存在时) C:\Users\jacky\Desktop>python xx.py 文件存在。 C:\Users\jacky\Desktop> 脚本运行的结果:(文件不存在时) C:\Users\jacky\Desktop>python xx.py 文件不存在。 C:\Users\jacky\Desktop> ###### 例子二: 检测指定文件是否存在: #coding=utf-8 Path_1 = "d:/dir1/佛山_Database1.mdb" #绝对路径 try: f_name = open(Path_1) f_name.close() except: print("文件不存在。") else: print("文件存在。") 脚本运行的结果:(文件存在时) C:\Users\jacky\Desktop>python xx.py 文件存在。 C:\Users\jacky\Desktop> 脚本运行的结果:(文件不存在时) C:\Users\jacky\Desktop>python xx.py 文件不存在。 C:\Users\jacky\Desktop> ###### 例子三: 创建空文件:(如果目标文件已经存在,会被直接覆盖) #coding=utf-8 Path_1 = "./dir1/test.txt" #相对路径,以脚本所在目录为家目录 try: f_name = open(Path_1,'w') #写入文件内容 f_name.close() print("文件创建成功。") except: print("文件创建失败。") 脚本运行的结果:(脚本所在目录里的文件夹dir1存在时,会在文件夹C:\Users\jacky\Desktop\dir1里创建文件test.txt) C:\Users\jacky\Desktop>python xx.py 文件创建成功。 C:\Users\jacky\Desktop> 脚本运行的结果:(脚本所在目录里的文件夹dir1不存在时) C:\Users\jacky\Desktop>python xx.py 文件创建失败。 C:\Users\jacky\Desktop> ###### 例子四: 创建空文件:(如果目标文件已经存在,会被直接覆盖) #coding=utf-8 Path_1 = "../test.txt" #相对路径,以脚本所在目录的上一级目录为家目录 try: f_name = open(Path_1,'w') f_name.close() print("文件创建成功。") except: print("文件创建失败。") 脚本运行的结果:(会在目录C:\Users\jacky里创建文件test.txt) C:\Users\jacky\Desktop>python xx.py 文件创建成功。 C:\Users\jacky\Desktop> ###### 例子五: 读取文件的全部内容: #coding=utf-8 Path_1 = "./1.txt" #相对路径,以脚本所在目录为家目录 try: f_name = open(Path_1,'r') #读取文件内容 print("显示文件的全部内容:") Result_1 = f_name.read() print(Result_1) f_name.close() except: print("文件读取失败。") 脚本运行的结果:(读取的是C:\Users\jacky\Desktop\1.txt的内容) 图片1.png ###### 例子六: 显示文件内容的前19个字符: #coding=utf-8 Path_1 = "C:/Users/jacky/Desktop/1.txt" #绝对路径 try: f_name = open(Path_1,'r') Result_1 = f_name.read(19) print("显示文件内容的前19个字符:",Result_1) f_name.close() except: print("文件读取失败。") 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 显示文件内容的前19个字符: 文件系统 容量 C:\Users\jacky\Desktop> ###### 例子七: 显示文件的第一行内容: #coding=utf-8 Path_1 = "C:/Users/jacky/Desktop/1.txt" try: f_name = open(Path_1,'r') print("文件的第一行内容:") Result_1 = f_name.readline() print(Result_1) print("-" * 10) Result_2 = Result_1.rstrip('\n') #去除右边的换行符 print(Result_2) f_name.close() except: print("文件读取失败。") 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 文件的第一行内容: 文件系统 容量 已用 可用 已用% 挂载点 ---------- 文件系统 容量 已用 可用 已用% 挂载点 C:\Users\jacky\Desktop> ###### 例子八: 读取文件的全部内容:(输出结果为列表,连换行符也会显示出来) #coding=utf-8 Path_1 = "C:/Users/jacky/Desktop/1.txt" try: f_name = open(Path_1,'r') print("显示文件的全部内容:",) Result_1 = f_name.readlines() #输出结果为列表,包含换行符 print(Result_1) f_name.close() except: print("文件读取失败。") 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 显示文件的全部内容: ['文件系统 容量 已用 可用 已用% 挂载点\n', 'devtmpfs 883M 0 883M 0% /dev\n', 'tmpfs 901M 0 901M 0% /dev/shm\n', 'tmpfs 901M 33M 868M 4% /run\n', 'tmpfs 901M 0 901M 0% /sys/fs/cgroup\n', '/dev/mapper/cl-root 76G 3.5G 73G 5% /\n', '/dev/nvme0n1p1 190M 141M 36M 80% /boot\n', 'tmpfs 181M 0 181M 0% /run/user/0\n', '/dev/sr0 7.7G 7.7G 0 100% /mnt/cdrom\n'] C:\Users\jacky\Desktop> ###### 例子九: 显示文件的第N行内容: #coding=utf-8 Path_1 = "C:/Users/jacky/Desktop/1.txt" try: f_name = open(Path_1,'r') Result_1 = f_name.readlines() print("第1行内容:") print(Result_1[0]) print("第2行内容:") print(Result_1[1]) print("第6行内容:") Result_2 = Result_1[5].strip('\n') #去除左边、右边的换行符 print(Result_2) f_name.close() except: print("文件读取失败。") 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 第1行内容: 文件系统 容量 已用 可用 已用% 挂载点 第2行内容: devtmpfs 883M 0 883M 0% /dev 第6行内容: /dev/mapper/cl-root 76G 3.5G 73G 5% / C:\Users\jacky\Desktop> ###### 例子十: 显示文件第2-4行的内容: #coding=utf-8 Index_1 = 1 while Index_1 < 4: Path_1 = "C:/Users/jacky/Desktop/1.txt" f_name = open(Path_1,'r') Key_1 = f_name.readlines()[Index_1].strip('\n') #去除左边、右边的换行符 print(Key_1) f_name.close() Index_1 = Index_1 + 1 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py devtmpfs 883M 0 883M 0% /dev tmpfs 901M 0 901M 0% /dev/shm tmpfs 901M 33M 868M 4% /run C:\Users\jacky\Desktop> ###### 例子十一: 显示文件第3-6行的内容: #coding=utf-8 from io import StringIO String_1 = StringIO() Index_1 = 2 while Index_1 < 6: Path_1 = "C:/Users/jacky/Desktop/1.txt" f_name = open(Path_1,'r') Key_1 = f_name.readlines()[Index_1] f_name.close() String_1.write(Key_1) Index_1 = Index_1 + 1 String_2 = String_1.getvalue() String_2 = String_2.strip('\n') #去除左边、右边的换行符 print(String_2) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py tmpfs 901M 0 901M 0% /dev/shm tmpfs 901M 33M 868M 4% /run tmpfs 901M 0 901M 0% /sys/fs/cgroup /dev/mapper/cl-root 76G 3.5G 73G 5% / C:\Users\jacky\Desktop> ###### 例子十二: 往指定文件写入内容:(假如文件已经存在,会覆盖原内容;假如文件不存在,会自动创建) #coding=utf-8 Path_1 = "./2.txt" Key_1 = "Welcome to zhuohua\n你好吗?\n我很好。" # \n 是换行符,换行的意思 try: f_name = open(Path_1,'w') #写入文件内容 Result_1 = f_name.write(Key_1) print("往文件写入字符串长度:",Result_1) f_name.close() except: print("文件写入失败。") 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 往文件写入字符串长度: 28 C:\Users\jacky\Desktop> C:\Users\jacky\Desktop>type 2.txt Welcome to zhuohua 你好吗? 我很好。 C:\Users\jacky\Desktop> ###### 例子十三: 往指定文件追加内容:(假如文件不存在,会自动创建) #coding=utf-8 Path_1 = "./2.txt" Key_1 = "\nWelcome to Python.\n" try: f_name = open(Path_1,'a') #追加文件内容 Result_1 = f_name.write(Key_1) print("往文件追加字符串长度:",Result_1) f_name.close() # 关闭文件 except: print("文件追加失败。") 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 往文件追加字符串长度: 20 C:\Users\jacky\Desktop> C:\Users\jacky\Desktop>type 2.txt Welcome to zhuohua 你好吗? 我很好。 Welcome to Python. C:\Users\jacky\Desktop> ###### 例子十四: 把一个文件的内容全部追加到另外一个文件中:(假如目标文件不存在,会自动创建) #coding=utf-8 import shutil Path_1 = "./2.txt" #源文件 Path_2 = "./1.txt" #目标文件 try: src = open(Path_1, "r") dst = open(Path_2, "a") dst.write(src.read()) src.close() dst.close() print('文件内容追加成功。') except: print("文件内容追加失败。") 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 文件内容追加成功。 C:\Users\jacky\Desktop> C:\Users\jacky\Desktop>type 1.txt 文件系统 容量 已用 可用 已用% 挂载点 devtmpfs 883M 0 883M 0% /dev tmpfs 901M 0 901M 0% /dev/shm tmpfs 901M 33M 868M 4% /run tmpfs 901M 0 901M 0% /sys/fs/cgroup /dev/mapper/cl-root 76G 3.5G 73G 5% / /dev/nvme0n1p1 190M 141M 36M 80% /boot tmpfs 181M 0 181M 0% /run/user/0 /dev/sr0 7.7G 7.7G 0 100% /mnt/cdrom Welcome to zhuohua 你好吗? 我很好。 Welcome to Python. C:\Users\jacky\Desktop> 相关文章: Windows使用Ping CentOS6使用Ping 网络爬虫_爬(blog.zhuohua.store) 网络爬虫_爬(豆瓣电影) for循环语句 retry装饰器 自定义函数 StringIO()函数 字典 字符串的截取 文件操作(复制、重命名、删除等)

图片附件: 图片1.png (2022-5-12 13:18, 7.1 KB) / 下载次数 89
http://blog.zhuohua.store/attachment.php?aid=19920&k=1e38ffafd338eaea1cc74fdb9d50cefb&t=1715040974&sid=BEYe9d






欢迎光临 blog.zhuohua.store (http://blog.zhuohua.store/) Powered by Discuz! 7.2