对python中的文件列表应用命令

2024-09-29 21:53:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我有个棘手的问题。我需要将一个名为xRITDecompress的特定命令应用于扩展名为-C_的文件列表,我应该用Python来实现这一点。你知道吗

不幸的是,此命令不适用于通配符,我无法执行以下操作:

os.system("xRITDecompress *-C_")

原则上,我可以用for循环编写一个辅助bash脚本,并在python程序中调用它。但是,我不想依赖辅助文件。。。你知道吗

在python程序中实现这一点的最佳方法是什么?你知道吗


Tags: 文件方法命令程序脚本bash列表for
3条回答

可以使用^{}获取要在其上运行命令的文件列表,然后针对该列表中的每个文件运行命令-

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只会在当前目录中搜索,但根据您对原始试用版的要求,似乎这可能是您想要的。你知道吗


您可能还想看看^{}模块,它是一个用于运行命令(生成进程)的功能更强大的模块。示例-

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执行

import os
from glob import glob
for file in glob('*-C_'):
    os.system("xRITDecompress %s" % file)

我希望它能满足你的问题

相关问题 更多 >

    热门问题