2017-02-27 68 views
0

我有一个通过输入在cmd.exe以下从一张照片格式到另一种转换一个应用程序:“AppConverter.exe”“file.tiff”“file.jpeg”提取Python中的所有文件名

但因为我不每次我想要一张照片转换时,都不想输入这个内容,我想要一个脚本来转换文件夹中的所有文件。到目前为止,我有这样的:

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。我正在考虑为每个文件提供基本名称(无分机号),并将其粘贴到.tiff.jpeg,但是我不知道如何去做。

+0

可能的重复https://stackoverflow.com/questions/3207219/how-to-list-all-files-of-a-directory – mgul

+0

不幸的是,该线程并没有多大帮助,给予我的初学者。 – pythonore

+0

[如何从Python中的文件名替换(或剥离)扩展名可能的重复?](http://stackoverflow.com/questions/3548673/how-to-replace-or-strip-an-extension-from-一个文件名,在-蟒) –

回答

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 

所有这些信息都在我的链接后评论你的原始问题。

相关问题