如何利用python实现windows的批处理及文件夹操作
作者:DHtsing 发布时间:2023-02-17 16:53:45
标签:python,批处理,文件夹
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’
来源:https://blog.csdn.net/weixin_44530917/article/details/122274554


猜你喜欢
- 再dos中无法使用pip,命令主要是没有发现这个命令。我们先找到这个命令的位置,一般是在python里面的Scripts文件夹里面。我们可以
- 本文实例讲述了JQuery中serialize()用法。分享给大家供大家参考。具体分析如下:一、serialize()定义和用法:seria
- /* JS代码部分 */ 3 const date = new Date()const years = []const months = [
- 这几天无聊的很看着china.nba.com焦点图效果捣鼓了一下有待完善!兼容性:IE6 , IE7 &nb
- 以前大家谈了很多有关打开数据库连接安全的问题,现在我再提出一种思路:使用activex dll来保护你的代码。(既可以不用为使用共享的加密软
- 前言每次开发滑块控件的样式都要花很久去读样式代码,感觉有点记不牢,所以特此备忘。自定义滑块样式首先创建项目,添加Slider控件。然后获取S
- 本文章向大家介绍Python numpy.interp实例讲解,主要分析其语法、参数、返回值和注意事项,并结合实例形式分析了其使用技巧,希望
- Function Moneynm(n,m) &
- 几乎每个程序都需要用到图片,在小程序中我们可以通过image组件显示图片。当然小程序也是可以上传图片的,微信小程序文档也写的很清楚。上传图片
- 首先,必须安装vuex的依赖npm install vuex --save-dev创建专属vuex的文件夹和store.js:store.j
- 解析来自各种来源和格式的时间序列信息pd.to_datetime( arg,#int, float, str, d
- 这个技巧将教你如何用css做出漂亮的文本按钮,有活力的按钮将节省你很多制作图片的时间,也能让你一天的工作中成为一个快乐的人,让我们一起看看效
- 前言在Python爬虫中,使用requests发送请求,访问指定网站,是常见的做法。一般是发送GET请求或者POST请求,对于GET请求没有
- 看到类似C:\>是在Windows提供的命令行模式,看到>>>是在Python交互式环境下。在命令行模式下,可以执行
- 当我们导入的模型含有自定义层或者自定义函数时,需要使用custom_objects来指定目标层或目标函数。例如:我的一个模型含有自定义层“S
- 本文实例讲述了python调用机器喇叭发出蜂鸣声(Beep)的方法。分享给大家供大家参考。具体分析如下:下面这段python代码可调用机器喇
- jupyter notebook其实是可以使用 argparse来调用参数的,只要把参数转为list即可。不能在jupyter notebo
- 问题描述: 有2个数组如下a = [3,3,3,4,4,4,5,6,7]b = [3,3,4,4]第1题:从数组a中删除所有在数组b中出现过
- 作用说明该方法被用于绘制关键点的匹配情况。我们看到的许多匹配结果都是使用这一方法绘制的——一左一右两
- 本文实例为大家分享了python绘制彩虹图的具体代码,供大家参考,具体内容如下from turtle import *#控制彩虹路径def