• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    python必学知识之文件操作(建议收藏)

    一.文件基本操作

    1.1 文件打开和关闭

    1. open(‘文件名称','打开模式')
    2. 模式:r(只读,指针再头) w(只写,存在覆盖,不存创新) a(追加) b(二进制格式)
    3. close() 方法关闭文件
    f=open('text.txt','w')#创建text.txt文件,用f来指代
    f.close()#关闭文件
    

    注意: 打开一个文件之后,一定要关闭,否则后面无法继续操作这个文件

    with 上下文管理,不管在处理文件过程中是否发生异常,都能保证 with 语句执行完毕后已经关闭打开的文件句柄。

    def main():
        with open('text.txt','w+') as f:
            content=f.read()#读取文件写入内容
            print(content)#输出
    main()#输出完成后会自动关闭文件
    

    错误:如果报错io.UnsupportedOperation: not readable

    因为你是用open打开一个文件,此时调用的是w写入模式,下面使用read是没有权限的,你得使用w+读写模式

    1.2 读/写文件

    1.2.1 写文件

    写文件 write默认的编码是gbk 这个是中文编码,最好的习惯呢就是我们再打开一个文件的时候给它指定一个编码类型encoding,要不然会出现乱码

    f=open('text.txt','w',encoding='utf-8')#w为写入模式
    f.write('人生苦短,我用python')#写入文件text.txt
    f.close()
    
    #writelines()可传一个可迭代对象
    f=open('text.txt','a',encoding='utf-8')#a为追加模式
    

    他会自动生成text文件然后写入

    writelines 方法将可迭代对象,迭代写入文件

    f.write('\r\n')
    f.writelines(['人生','就是','不断的学习'])
    print('\n')
    f.close()

    1.2.2 读文件

     read(num):传入一个数字做参数,表示读取指定字符个数。列:read(1)
    readlines() :按行读取,一次性读取所有内容,返回一个列表,每一行内容作为一个元素。
    readline() :按行读取,但是一次只读取一行。

    #读取文件
    f=open('text.txt','r',encoding='utf-8')#只读模式
    print(f.read())#全部读取输出
    f.close()

    注意:出现UnicodeDecodeError: ‘gbk' codec can't decode byte 0xad in position 52: illegal multibyte sequence错误

    解决:open中加入encoding=‘utf-8'就行

    二. 文件备份脚本

    利用脚本完成自动备份,要求用户输入文件名称,完成自动备份

    def copyfile():
        #接收输入的文件
        old_file=input('请输入要备份的文件:')
        file_list=old_file.split(".")#split()函数通过指定分隔符对字符串进行切片,假设要备份text.txt文件,输出是['text', 'txt']
        new_file=file_list[0]+'_备份.'+file_list[1]#构造新的文件名,加上备份后缀
        old_f=open(old_file,'r')#只读模式打开备份的文件
        new_f=open(new_file,'w')#只写模式打开新文件,不存在则创建
        new_f.write(old_f.read())#将备份文件内容读取出来写入新文件
        #关闭所有打开文件
        old_f.close()
        new_f.close()
    copyfile()#到时候文件夹里面会出现一个text_备份.txt的文件,内容和备份文件一样
    

    如果处理超大文件,一次将全部内容读取出来显然是不合适的,在上面代码的基础上改进下代码,让它备份大文件也不会导致内存被占满

    def copyfile2():
        #接收输入的文件
        old_file=input('输入要备份的文件')
        #如果没有输入或者输入错误就提示
        if not old_file:
            print('输入错误')
            old_file = input('输入要备份的文件:')
        else:
             file_list=old_file.split(".")
             print(file_list)
        #创造新的文件名,加上备份后缀
        if len(file_list)2:#如果列表长度小于2,就不用加.
            new_file=file_list[0]+'_备份2'
            pass
        else:#文件有后缀的情况
            new_file=file_list[0]+'_备份2.'+file_list[1]
        #用异常处理判断内存是否被占满
        try:
            #同时打开需要备份的文件,新文件
            with open(old_file,'r') as old_f, open(new_file,'a')  as  new_f:
                while True:
                    content=old_f.read(2048)#一次读取2048个字符
                    new_f.write(content)#写入
                    #当读取的内容字符长度小于2048是说明读取完毕
                    if len(content)2048:
                        break#跳出循环
        except Exception as e:
            print(e)#如果内存满无法读取了,就抛出异常
    copyfile2()#到时候文件夹里面会出现一个text_备份2.txt的文件,内容和备份文件一样
    

    备份了text.txt

    总结

    到此这篇关于python必学知识之文件操作的文章就介绍到这了,更多相关python文件操作内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • python文件和目录操作方法大全(含实例)
    • Python 文件读写操作实例详解
    • 在Python程序中进行文件读取和写入操作的教程
    • python中os操作文件及文件路径实例汇总
    • Python中的文件和目录操作实现代码
    • python操作xml文件详细介绍
    • python读取csv文件示例(python操作csv)
    • 在Python中操作文件之seek()方法的使用教程
    • Python中操作文件之write()方法的使用教程
    • python之文件的读写和文件目录以及文件夹的操作实现代码
    上一篇:Python使用Kubernetes API访问集群
    下一篇:深入解析NumPy中的Broadcasting广播机制
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    python必学知识之文件操作(建议收藏) python,必学,知识,之,文件,