最近用Python写了个项目 记录一下用到的知识点
-
日期
import time date=time.strftime("%Y-%m-%d-%H-%M-%S") -
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文件夹内第一层的文件 -
判断新拷贝文件是否已传输完毕
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才行 -
解压zip压缩包
import zipfile unzip = zipfile.ZipFile(zipFileName) for fileName in unzip.namelist(): unzip.extract(fileName, outputPath) unzip.close() -
tar.gz解压缩
import tarfile unTar = tarfile.open(targzFileName) unTar.extractall(outputPath) -
拷贝文件
import shutil shutil.copy(fileName, newName) -
文件处理个数进度
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% -
格式化输出 百分比 左对齐 右对齐
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 --- -
判断路径存在 以及是否有写、读、执行权限
import os os.path.exists(path) os.access(path, os.W_OK|os.R_OK|os.X_OK) -
config.ini文件读取解析
import configparser config = configparser.ConfigParser() config.read("./config.ini") opt = config.get(SECTION, OPTION)
```
该文章介绍了使用Python进行文件操作的一些实用技巧,包括利用os.walk遍历目录,判断文件传输完成,解压zip和tar.gz压缩包,复制文件,显示处理进度,检查文件及目录的权限,以及读取config.ini配置文件的方法。
4945

被折叠的 条评论
为什么被折叠?



