我有一个应用程序可以通过输入cmd.exe
以下内容从一种照片格式转换为另一种照片格式:" AppConverter.exe" " file.tiff" " file.jpeg"
但是因为我不希望每次想要转换照片时输入这个,我想要一个转换文件夹中所有文件的脚本。到目前为止我有这个:
def start(self):
for root, dirs, files in os.walk("C:\\Users\\x\\Desktop\\converter"):
for file in files:
if file.endswith(".tiff"):
subprocess.run(['AppConverter.exe', '.tiff', '.jpeg'])
那么我如何获取所有文件的名称并将它们放在subprocess
中。我正在考虑为每个文件使用basename(没有ext。)并将其粘贴到.tiff
和.jpeg
中,但我对如何操作感到遗憾。
答案 0 :(得分:0)
您可以尝试查看os.path.splitext()。这允许您将文件名拆分为包含基本名称和扩展名的元组。这可能会有所帮助......
答案 1 :(得分:0)
我认为最快的方法是将glob
模块用于表达式:
import glob
import subprocess
for file in glob.glob("*.tiff"):
subprocess.run(['AppConverter.exe', file, file[:-5] + '.jpeg'])
# file will be like 'test.tiff'
# file[:-5] will be 'test' (we remove the last 5 characters, so '.tiff'
# we add '.jpeg' to our extension-less string
所有这些信息都出现在我原始问题的评论中。