2024-09-29 21:53:21 发布
网友
我有个棘手的问题。我需要将一个名为xRITDecompress的特定命令应用于扩展名为-C_的文件列表,我应该用Python来实现这一点。你知道吗
xRITDecompress
-C_
不幸的是,此命令不适用于通配符,我无法执行以下操作:
os.system("xRITDecompress *-C_")
原则上,我可以用for循环编写一个辅助bash脚本,并在python程序中调用它。但是,我不想依赖辅助文件。。。你知道吗
for
在python程序中实现这一点的最佳方法是什么?你知道吗
可以使用^{}获取要在其上运行命令的文件列表,然后针对该列表中的每个文件运行命令-
import glob for f in glob.glob('*-C_'): os.system('xRITDecompress {}'.format(f))
从documentation -
The glob module finds all the pathnames matching a specified pattern according to the rules used by the Unix shell.
如果通过_(下划线),您希望匹配单个字符,则应该使用-?,例如-
_
?
glob.glob('*-C?')
请注意,glob只会在当前目录中搜索,但根据您对原始试用版的要求,似乎这可能是您想要的。你知道吗
glob
您可能还想看看^{}模块,它是一个用于运行命令(生成进程)的功能更强大的模块。示例-
import subprocess import glob for f in glob.glob('*-C_'): subprocess.call(['xRITDecompress',f])
可以使用^{}或^{}获取与给定模式匹配的文件:
import glob files = glob.iglob('*-C_') for f in files: os.system("xRITDecompress %s" % f)
只需使用glob.glob搜索,os.system执行
glob.glob
os.system
import os from glob import glob for file in glob('*-C_'): os.system("xRITDecompress %s" % file)
我希望它能满足你的问题
可以使用^{} 获取要在其上运行命令的文件列表,然后针对该列表中的每个文件运行命令-
从documentation -
如果通过
_
(下划线),您希望匹配单个字符,则应该使用-?
,例如-请注意,
glob
只会在当前目录中搜索,但根据您对原始试用版的要求,似乎这可能是您想要的。你知道吗您可能还想看看^{} 模块,它是一个用于运行命令(生成进程)的功能更强大的模块。示例-
可以使用^{} 或^{} 获取与给定模式匹配的文件:
只需使用
glob.glob
搜索,os.system
执行我希望它能满足你的问题
相关问题 更多 >
编程相关推荐