|
网站内容均来自网络,本站只提供信息平台,如有侵权请联系删除,谢谢!
目录
1.批量处理
所谓的批处理就是批量处理cmd里面的命令。
python要想实现批处理功能需要导入os库,然后利用批处理的命令为os.system(cmd_line)其中cmd_line是输入cmd里面的命令。- import os
- # 批量处理的exe文件
- EXE_PATH="C:\\Users\\AAA\\Desktop\\0001\\TAppDecoder.exe"
- h265_dir="D:\\YUVView\\media_h265.h265"
- outyuv_dir=".yuv"
- #利用标识符%s,和“%s”分别表示需要运行的exe文件和需要传入的路径
- #cmd_line 为cmd输入的命令(其中exe,和路径用标识符导入)
- cmd_line='%s -b "%s" -o "%s"' %(EXE_PATH,h265_dir,outyuv_dir)
- #ret 是0则证明cmd运行成功,是1则证明运行失败
- ret=os.system(cmd_line)
复制代码 2. 文件夹操作
2.1 读取文件中的文件名
读取文件中的文件名直接用for file in os.listdir(path)就能读取path路径中所有的文件名。如果需要去除文件名的后缀首先需要输入from pathlib import Path 导入Path库,然后输入Path(file_path).stem其中file_path 为文件的路径。- import os
- #导入的Path,可以读取除去后缀名后的文件名并以str形式保存
- from pathlib import Path
- # 需要读取的文件目录
- path="******"
- somethings=os.listdir(path)
- for file_1 in somethings:
- #如果是windows系统用"\" 如果是linux系统用"/",注:以下以windows系统为例
- #这里是更新目录路径 到path的子目录路径
- path_1=path+"\"+file_1
- somethings_1=os.listdir(path_1)
- # r如果只有两层目录到此位置,如果有三层乃至更多需要不断增加迭代层数。
- for file_2 in somethings:
- #这时候的file_2就是带有后缀名的文件。
- file_2
- file_2path=path_1+"\"+file_2
- #为了获得file_2的名字(没有后缀名)filename类型为str
- filename=Path(file_2path).stem
- # 取filename的前两个字符
- filename[0:1]
复制代码 2.2 创建文件夹
首先用os.path.exists(path)判断是否存在(返回0代表不存在),创建文件夹使用os.makedirs(path)。- import os
- # 如果没有path文件夹,就建一个文件夹
- path="*****"
- if not os.path.exists(path):
- os.makedirs(path)
复制代码 2.3、获取某指定目录下的所有文件的列表
- def getFileList( p ):
- p = str( p )
- if p=="":
- return [ ]
- p = p.replace( "/","\")
- if p[ -1] != "\":
- p = p+"\"
- a = os.listdir( p )
- b = [ x for x in a if os.path.isfile( p + x ) ]
- return b
- print getFileList( "C:\" )
复制代码 2.4、将一个路径名分解为目录名和文件名两部分
- fpath , fname = os.path.split( "你要分解的路径")
复制代码 例如:- a, b = os.path.split('ZC/Download/data/zc.txt' ) #以最后一个/为界分割
- print a
- print b
复制代码 显示: - ’ZC/Download/data’‘zc.txt’
复制代码 总结
到此这篇关于如何利用python实现windows的批处理及文件夹操作的文章就介绍到这了,更多相关python实现windows批处理内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |
免责声明
1. 本论坛所提供的信息均来自网络,本网站只提供平台服务,所有账号发表的言论与本网站无关。
2. 其他单位或个人在使用、转载或引用本文时,必须事先获得该帖子作者和本人的同意。
3. 本帖部分内容转载自其他媒体,但并不代表本人赞同其观点和对其真实性负责。
4. 如有侵权,请立即联系,本网站将及时删除相关内容。
|