文件操作(创建、读取、写入、追加)
例子一:检测指定文件是否存在:
#coding=utf-8
Path_1 = "[color=Blue]D:/[/color]test.txt" #绝对路径
try:
f_name = open(Path_1) #打开文件;如果文件不存在就会报错
f_name.close() #关闭文件
print("文件存在。")
except:
print("文件不存在。")
脚本运行的结果:(文件存在时)
C:\Users\jacky\Desktop>python xx.py
[color=Purple]文件存在。[/color]
C:\Users\jacky\Desktop>
脚本运行的结果:(文件不存在时)
C:\Users\jacky\Desktop>python xx.py
[color=Purple]文件不存在。[/color]
C:\Users\jacky\Desktop>
######
例子二:
检测指定文件是否存在:
#coding=utf-8
Path_1 = "[color=Blue]d:/dir1/[/color]佛山_Database1.mdb" #绝对路径
try:
f_name = open(Path_1)
f_name.close()
except:
print("文件不存在。")
else:
print("文件存在。")
脚本运行的结果:(文件存在时)
C:\Users\jacky\Desktop>python xx.py
[color=Purple]文件存在。[/color]
C:\Users\jacky\Desktop>
脚本运行的结果:(文件不存在时)
C:\Users\jacky\Desktop>python xx.py
[color=Purple]文件不存在。[/color]
C:\Users\jacky\Desktop>
######
例子三:
创建空文件:(如果目标文件已经存在,会被直接覆盖)
#coding=utf-8
Path_1 = "[color=Blue]./[/color]dir1/test.txt" #相对路径,以脚本所在目录为家目录
try:
f_name = open(Path_1,'[color=DarkRed]w[/color]') #写入文件内容
f_name.close()
print("文件创建成功。")
except:
print("文件创建失败。")
脚本运行的结果:(脚本所在目录里的文件夹dir1存在时,会在文件夹C:\Users\jacky\Desktop\dir1里创建文件test.txt)
C:\Users\jacky\Desktop>python xx.py
[color=Purple]文件创建成功。[/color]
C:\Users\jacky\Desktop>
脚本运行的结果:(脚本所在目录里的文件夹dir1不存在时)
C:\Users\jacky\Desktop>python xx.py
[color=Purple]文件创建失败。[/color]
C:\Users\jacky\Desktop>
######
例子四:
创建空文件:(如果目标文件已经存在,会被直接覆盖)
#coding=utf-8
Path_1 = "[color=Blue]../[/color]test.txt" #相对路径,以脚本所在目录的上一级目录为家目录
try:
f_name = open(Path_1,'[color=DarkRed]w[/color]')
f_name.close()
print("文件创建成功。")
except:
print("文件创建失败。")
脚本运行的结果:(会在目录C:\Users\jacky里创建文件test.txt)
C:\Users\jacky\Desktop>python xx.py
[color=Purple]文件创建成功。[/color]
C:\Users\jacky\Desktop>
######
例子五:
读取文件的全部内容:
#coding=utf-8
Path_1 = "[color=Blue]./[/color]1.txt" #相对路径,以脚本所在目录为家目录
try:
f_name = open(Path_1,'[color=DarkRed]r[/color]') #读取文件内容
print("显示文件的全部内容:")
Result_1 = f_name.read()
print(Result_1)
f_name.close()
except:
print("文件读取失败。")
脚本运行的结果:(读取的是C:\Users\jacky\Desktop\1.txt的内容)
[attach]19920[/attach]
######
例子六:
显示文件内容的前19个字符:
#coding=utf-8
Path_1 = "C:/Users/jacky/Desktop/1.txt" #绝对路径
try:
f_name = open(Path_1,'[color=DarkRed]r[/color]')
Result_1 = f_name.read([color=Blue]19[/color])
print("显示文件内容的前19个字符:",Result_1)
f_name.close()
except:
print("文件读取失败。")
脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
显示文件内容的前19个字符: [color=Purple]文件系统 容量[/color]
C:\Users\jacky\Desktop>
######
例子七:
显示文件的第一行内容:
#coding=utf-8
Path_1 = "C:/Users/jacky/Desktop/1.txt"
try:
f_name = open(Path_1,'[color=DarkRed]r[/color]')
print("文件的第一行内容:")
Result_1 = f_name.[color=Blue]readline()[/color]
print(Result_1)
print("-" * 10)
Result_2 = Result_1[color=Blue].rstrip('\n') [/color]#去除右边的换行符
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,'[color=DarkRed]r[/color]')
print("显示文件的全部内容:",)
Result_1 = f_name.[color=Blue]readlines()[/color] #输出结果为列表,包含换行符
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,'[color=DarkRed]r[/color]')
Result_1 = f_name.r[color=Blue]eadlines()[/color]
print("第1行内容:")
print(Result_1[[color=Blue]0[/color]])
print("第2行内容:")
print(Result_1[[color=Blue]1[/color]])
print("第6行内容:")
Result_2 = Result_1[5][color=DarkRed].strip('\n')[/color] #去除左边、右边的换行符
print(Result_2)
f_name.close()
except:
print("文件读取失败。")
脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
第1行内容:
[color=Purple]文件系统 容量 已用 可用 已用% 挂载点[/color]
第2行内容:
[color=Purple]devtmpfs 883M 0 883M 0% /dev[/color]
第6行内容:
[color=Purple]/dev/mapper/cl-root 76G 3.5G 73G 5% /[/color]
C:\Users\jacky\Desktop>
######
例子十:
显示文件第2-4行的内容:
#coding=utf-8
Index_1 = [color=DarkRed]1[/color]
while Index_1 < [color=DarkRed]4[/color]:
Path_1 = "C:/Users/jacky/Desktop/1.txt"
f_name = open(Path_1,'[color=DarkRed]r[/color]')
Key_1 = f_name.readlines()[Index_1][color=DarkRed].strip('\n')[/color] #去除左边、右边的换行符
print(Key_1)
f_name.close()
Index_1 = Index_1 + 1
脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
[color=Purple]devtmpfs 883M 0 883M 0% /dev
tmpfs 901M 0 901M 0% /dev/shm
tmpfs 901M 33M 868M 4% /run[/color]
C:\Users\jacky\Desktop>
######
例子十一:
显示文件第3-6行的内容:
#coding=utf-8
from io import StringIO
String_1 = StringIO()
Index_1 = [color=DarkRed]2[/color]
while Index_1 < [color=DarkRed]6[/color]:
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[color=DarkRed].strip('\n')[/color] #去除左边、右边的换行符
print(String_2)
脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
[color=Purple]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% /
[/color]
C:\Users\jacky\Desktop>
######
例子十二:
往指定文件写入内容:(假如文件已经存在,会覆盖原内容;假如文件不存在,会自动创建)
#coding=utf-8
Path_1 = "./2.txt"
Key_1 = "Welcome to zhuohua[color=Blue]\n[/color]你好吗?[color=Blue]\n[/color]我很好。" # [color=Blue]\n[/color] 是换行符,换行的意思
try:
f_name = open(Path_1,'[color=DarkRed]w[/color]') #写入文件内容
Result_1 = f_name.write(Key_1)
print("往文件写入字符串长度:",Result_1)
f_name.close()
except:
print("文件写入失败。")
脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
往文件写入字符串长度: [color=Purple]28[/color]
C:\Users\jacky\Desktop>
C:\Users\jacky\Desktop>[color=Blue]type 2.txt[/color]
[color=Purple]Welcome to zhuohua
你好吗?
我很好。[/color]
C:\Users\jacky\Desktop>
######
例子十三:
往指定文件追加内容:(假如文件不存在,会自动创建)
#coding=utf-8
Path_1 = "./2.txt"
Key_1 = "\nWelcome to Python.\n"
try:
f_name = open(Path_1,'[color=DarkRed]a[/color]') #追加文件内容
Result_1 = f_name.write(Key_1)
print("往文件追加字符串长度:",Result_1)
f_name.close() # 关闭文件
except:
print("文件追加失败。")
脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
往文件追加字符串长度: [color=Purple]20[/color]
C:\Users\jacky\Desktop>
C:\Users\jacky\Desktop>[color=Blue]type 2.txt[/color]
Welcome to zhuohua
你好吗?
我很好。
[color=Purple]Welcome to Python.[/color]
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
[color=Purple]文件内容追加成功。[/color]
C:\Users\jacky\Desktop>
C:\Users\jacky\Desktop>[color=Blue]type 1.txt[/color]
文件系统 容量 已用 可用 已用% 挂载点
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
[color=Purple]Welcome to zhuohua
你好吗?
我很好。
Welcome to Python.[/color]
C:\Users\jacky\Desktop>
相关文章:
[url=http://blog.zhuohua.store/viewthread.php?tid=502&extra=page%3D1]Windows使用Ping[/url]
[url=http://blog.zhuohua.store/viewthread.php?tid=203&page=1&extra=#pid204]CentOS6使用Ping[/url]
[url=http://blog.zhuohua.store/viewthread.php?tid=156&page=1&extra=#pid157]网络爬虫_爬(blog.zhuohua.store)[/url]
[url=http://blog.zhuohua.store/viewthread.php?tid=164&page=1&extra=#pid165]网络爬虫_爬(豆瓣电影)[/url]
[url=http://blog.zhuohua.store/viewthread.php?tid=126&page=1&extra=#pid127]for循环语句[/url]
[url=http://blog.zhuohua.store/viewthread.php?tid=132&page=1&extra=#pid133]retry装饰器[/url]
[url=http://blog.zhuohua.store/viewthread.php?tid=118&page=1&extra=#pid119]自定义函数[/url]
[url=http://blog.zhuohua.store/viewthread.php?tid=145&page=1&extra=#pid146]StringIO()函数[/url]
[url=http://blog.zhuohua.store/viewthread.php?tid=139&page=1&extra=#pid140]字典[/url]
[url=http://blog.zhuohua.store/viewthread.php?tid=40&page=1&extra=#pid41]字符串的截取[/url]
[url=http://blog.zhuohua.store/viewthread.php?tid=155&page=1&extra=#pid156]文件操作(复制、重命名、删除等)[/url]
页:
[1]