zoukankan      html  css  js  c++  java
  • python文件操作

    记录在我使用python过程中用到的文件操作,我使用python主要是用来解决自动化的问题,不仅仅是工作上的问题也有解决我自己自动化的工具,python是可以跨平台的而bat脚本只能在windows上跑

    路径转义符

    对于路径中含有转义字符,在路径字符串前加 r,比如 filepath = r'E:Code est.txt'

    从相对路径或含../的路径获取完整路径: os.path.abspath(xxx)

    文本读取和修改

    使用默认的系统函数 open,并添加encoding,使用with 代替try finally 切保一定会调用close释放文件,示例

        with open(test_blog,'r',-1,encoding="utf-8") as sw:
    

    逐行读取并替换内容

    def alter(file,old_str,new_str):
        """
        替换文件中的字符串
        :param file:文件名
        :param old_str:就字符串
        :param new_str:新字符串
        :return:
        
        """
        file_data = ""
        with open(file, "r", encoding="utf-8") as f:
            for line in f:
                if old_str in line:
                    line = line.replace(old_str,new_str)
                file_data += line
        with open(file,"w",encoding="utf-8") as f:
            f.write(file_data)
     
    alter("file1", "09876", "python")
    

    写入内容

    # 打开一个文件
    fo = open("foo.txt", "w")
    fo.write( "www.runoob.com!
    Very good site!
    ")
     
    # 关闭打开的文件
    fo.close()
    

    参考: python-修改文件内容并保存的3种方法

    文件和目录操作

    创建文件夹:os.mkdir

    文件拷贝:shutil.copyfile(src_fullpath, path_name)

    删除文件:os.remove(file_name)

    python调用资源管理器打开某个文件夹:os.startfile(full_path)

    进入某个目录,此后的操作是在这个目录下:os.chdir(full_path)

    文件夹拷贝

    如果目录存在需要先删除,否则会报目录不为空不可访问

    if os.path.exists(dst_path):
    	print("exist path,delete", dst_path)
    	shutil.rmtree(dst_path)
    
    shutil.copytree(src_path, dst_path)
    
  • 相关阅读:
    Mac使用Homebrew进行软件包管理
    RNN模拟二进制加法
    虚拟机安装ubuntu18.04
    github合并分支到master
    Python配置虚拟环境
    Python的进程、线程、协程
    原码,反码,补码
    MySQL中的截位函数:RIGHT与LEFT
    MySQL查询和删除重复记录
    Mysql中的数据类型
  • 原文地址:https://www.cnblogs.com/zhaoqingqing/p/14879823.html
Copyright © 2011-2022 走看看