0

我是 python 的菜鸟,似乎无法让我的程序做我想做的事。我希望用户指定他们想要打开的 .gif 文件,然后程序将显示.gif他们指定的文件。不知道我做错了什么。如果有人可以请帮助我,我将不胜感激。我希望他们指定文件,然后程序将文件重命名为文件夹中的“变量”。打开调用"variable.gif"的文件/path/path/variable.gif

files = listdir(".")

print("List of GIF files in Directory:")
for f in files:
    if f[-4:] == ".gif":
        print(f)
print("type quit to close the program")     
gif1 = input("type which .gif you would like to modify and press enter:")
infile = open(gif1, "r")
outfile= open("gif1.gif", "w")
os.system('eog {0}'.format(r'home/pictures/gif1'))
4

1 回答 1

0

试试下面的代码片段,让我们知道它是否有效

import os

files = os.listdir(r'/home/pictures/')

print("List of GIF files in Directory:")
for f in files:
    if f.endswith('.gif'):
        print(f)
print("type quit to close the program")     
gif1 = input("type which .gif you would like to modify and press enter:")

if gif1 in files:
    os.system(r'eog /home/pictures/{0}'.format(gif1))
else:
    print 'The file name you entered is incorrect

您发布的代码不起作用,因为程序eog只需要文件名而不是打开的文件句柄。gif1也是由用户输入的,因此只有gif1必须附加到字符串/home/pictures/

当你调用open(filename,'r')你实际得到的是一个文件句柄。此文件句柄不能作为命令行参数传递给另一个程序。还有一点是用~/pictures/之类的东西替换/home/pictures 之类的东西

于 2013-10-27T15:14:51.417 回答