返回列表 发帖

文件操作(创建、读取、写入、追加)

例子一:
检测指定文件是否存在:

#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()函数

字典
字符串的截取
文件操作(复制、重命名、删除等)

返回列表