首页新闻动态正文

Python 中的文件操作【黑马python培训】

更新时间:2019年07月26日 11时10分37秒 来源:黑马程序员论坛

在学习 Python 的过程中,不经常使用到文件相关的操作(也有可能是我学的不到家),说实话,这些不常用的 API ,在真正需要的时候还是要百度的,自己还是写不出来。说要整理,也不知道该如何整理,就干脆一点,直接上我做练习的时候写的一个工具类吧。日后再有文件相关的操作,都可以写成方法加上去。


另外,普及一个知识点,这个文件可以直接拿来使用,在使用之前可以使用dir() 和 help() 方法来查看类库和方法的介绍。


使用方法


在同一目录下:
        from FileUtils(文件名) import FileUtils 这样就可以使用了 FileUtils 这个工具类了。

    在不同目录下:
        sys.path.append(r'D:\Python\test')  - 将文件所在目录添加进 import 模块中
        from FileUtils(文件名) import FileUtils 这样就可以使用了 FileUtils 这个工具类了。


以下既是 FileUtils.py 文件的内容。


import os

class FileUtils(object):
    '''
    用于操作文件的工具类
    :version 1.0
    :Python version : 3.6
    :author : YJK923

    '''
    def read(self,file_name,mode):
        '''
        读取文件内容,返回文件内容,类型为字符串,若文件不存在,则返回空
        :prarm file_name : 文件名
                mode : 打开模式,常用方式 r 或 rb
                    r : 以读方式打开,只能读文件
                    rb : 以二进制读方式打开,只能读文件
                    rt : 以文本读方式打开,只能读文件
                    rb+ : 以二进制方式打开,可以读写文件
        '''
        try:
            with open(file_name,mode) as f:
                f.seek(0) # 移动文件指针
                content = f.read()
                return content
        except Exception as e :
            print(e)


    def readline(self,file_name):
        '''
        一行一行的读取文件
        :param : file_name : 文件名
        '''
        try:
            with open(file_name,'r') as f:
                for line in f:
                    print(line)
        except Exception as e:
            print(e)


    def write(self,file_name,content,mode):
        '''
        清空文件并写入 content
        :param file_name : 文件名
               content : 写入内容
               mode : 打开模式,常用方式 w 或 wb
                   w : 以写的方式打开,只能写文件,若文件不存在,先创建,再写
                   wb : 以二进制写方式打开,只能写文件,若文件不存在,先创建再写,反之,清空之后再写
                   wt : 以文本方式打开,只能写文件,若文件不存在,先创建再写,反之,清空之后再写
        '''         
        with open(file_name,mode) as f:
            f.write(str(content))


    def append_write(self,file_name,content):
        '''
        追加文件写入 content
        :param file_name : 文件名
               content : 追加内容
        '''
        with open(file_name,'a+') as f:
            f.write(str(content))


    def clear(self,file_name):
        '''
        清空文件内容
        :param: file_name : 文件名
        '''
        with open(file_name,'wb') as f:
            f.truncate() # 清空文件内容


    def remove(self,file_name):
        '''
        删除文件
        :param : file_name : 文件名
        '''
        try:
            os.remove(file_name)
        except Exception as e:
            print(e)


    def tell(self,file_name):
        '''
        获取文件中指针的值
        :param : file_name : 文件名
        '''
        try:
            with open(file_name,'a+') as f:
                L = f.tell()
                return L
        except Exception as e:
            print(e)


    def copyfile(self,source_name,target_name):
        '''
        复制文件,复制之后的文件在同一级目录中
        :param : source_name : 原文件名
                 target_name : 复制之后的文件名
        '''
        try:
            with open(source_name,'rb') as f1, open(target_name,'wb') as f2:
                f2.write(f1.read())
        except Exception  as e:
            print(e)


    def movefile(self,source_name,path):
        '''
        移动文件到 path 路径下 示例:movefile('users.txt','D:\\FTPTest')
        :param : source_name : 原文件名称
                 path : 移动之后的目录信息
        '''
        try:
            with open(source_name,'rb') as f1, open(path+'\\'+source_name,'wb') as f2:
                f2.write(f1.read())
            os.remove(source_name)
        except Exception as e:
            print(e)


推荐了解热门学科

java培训 Python人工智能 Web前端培训 PHP培训
区块链培训 影视制作培训 C++培训 产品经理培训
UI设计培训 新媒体培训 产品经理培训 Linux运维
大数据培训 智能机器人软件开发




传智播客是一家致力于培养高素质软件开发人才的科技公司“黑马程序员”是传智播客旗下高端IT教育品牌。自“黑马程序员”成立以来,教学研发团队一直致力于打造精品课程资源,不断在产、学、研3个层面创新自己的执教理念与教学方针,并集中“黑马程序员”的优势力量,针对性地出版了计算机系列教材50多册,制作教学视频数+套,发表各类技术文章数百篇。

传智播客从未停止思考

传智播客副总裁毕向东在2019IT培训行业变革大会提到,“传智播客意识到企业的用人需求已经从初级程序员升级到中高级程序员,具备多领域、多行业项目经验的人才成为企业用人的首选。”

中级程序员和初级程序员的差别在哪里?
项目经验。毕向东表示,“中级程序员和初级程序员最大的差别在于中级程序员比初级程序员多了三四年的工作经验,从而多出了更多的项目经验。“为此,传智播客研究院引进曾在知名IT企业如阿里、IBM就职的高级技术专家,集中研发面向中高级程序员的课程,用以满足企业用人需求,尽快补全IT行业所需的人才缺口。

何为中高级程序员课程?

传智播客进行了定义。中高级程序员课程,是在当前主流的初级程序员课程的基础上,增加多领域多行业的含金量项目,从技术的广度和深度上进行拓展“我们希望用5年的时间,打造上百个高含金量的项目,覆盖主流的32个行业。”传智播客课程研发总监于洋表示。




黑马程序员热门视频教程【点击播放】

Python入门教程完整版(懂中文就能学会) 零起点打开Java世界的大门
C++| 匠心之作 从0到1入门学编程 PHP|零基础入门开发者编程核心技术
Web前端入门教程_Web前端html+css+JavaScript 软件测试入门到精通


在线咨询 我要报名
和我们在线交谈!