Python使用方法记录

该文章介绍了使用Python进行文件操作的一些实用技巧,包括利用os.walk遍历目录,判断文件传输完成,解压zip和tar.gz压缩包,复制文件,显示处理进度,检查文件及目录的权限,以及读取config.ini配置文件的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近用Python写了个项目 记录一下用到的知识点

  1. 日期

      import time
      date=time.strftime("%Y-%m-%d-%H-%M-%S")
    
  2. 遍历路径下所有文件

     	import shutil,os
        for root, dirs, files in os.walk(path):
            for file in files:
            	processFunc(os.path.join(root, file))    # 注意要使用root 不要使用path 因为root是逐层递进的根路径,path是始终不变的
                pass	# 遍历path文件夹内第一层的文件
    
  3. 判断新拷贝文件是否已传输完毕

    import os
    def fileTransFinished(name):
        oriBuildTime = os.stat(name).st_mtime
        buildTime = 0
        while buildTime != oriBuildTime:
            oriBuildTime = os.stat(name).st_mtime
            time.sleep(0.5)
            buildTime = os.stat(name).st_mtime
    

    当传输文件很大,且正在传输时,os.walk()可以立即识别到文件,但此时还不能处理文件,需等待文件传输完成。
    通过文件大小os.stat().st_size不能确认文件完成传输,需使用st_mtime才行

  4. 解压zip压缩包

    	import zipfile
        unzip = zipfile.ZipFile(zipFileName)
        for fileName in unzip.namelist():
            unzip.extract(fileName, outputPath)
        unzip.close()
    
  5. tar.gz解压缩

       import tarfile
       unTar = tarfile.open(targzFileName)
       unTar.extractall(outputPath)
    
  6. 拷贝文件

       import shutil
       shutil.copy(fileName, newName)
    
  7. 文件处理个数进度

       for root, dirs, files in os.walk(path):
       	fileCnt = len(files)
       	piece = fileCnt // 10 + 1
       	for i in range(0, fileCnt):
       		if i % piece == 0:
       			print(" {:.2f}%".format(i / piece * 10))
       		# do something
       	# 0% 10%  20% ~ 90%
    
  8. 格式化输出 百分比 左对齐 右对齐

       a = 0.123
       b = 0.321
       c = 123
       d = 321
       print("---{:>10.2%}{:<10.2%}{:>10d}{:<10d}---".format(a,b,c,d))
       #---    12.30%32.10%           123321       ---
    
  9. 判断路径存在 以及是否有写、读、执行权限

       import os
       os.path.exists(path)
       os.access(path, os.W_OK|os.R_OK|os.X_OK) 
    
  10. config.ini文件读取解析

       import configparser
       config = configparser.ConfigParser()
       config.read("./config.ini")
       opt = config.get(SECTION, OPTION)
    
```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值