2013-08-22 21 views
0

我要导入的文件前的列表导入在Python文件的列表:如何使用的raw_input

'E:\\mytest\\test_00.txt' 
'E:\\mytest\\test_01.txt' 
'E:\\mytest\\test_02.txt' 


INPUT_txt = raw_input("Input File(s): ") 
element = map(str, INPUT_txt.split(",")) 
for filename in element: 
    print os.path.abspath(filename) 
    print os.path.isfile(filename) 

我得到这个结果

E:\\mytest\\test_00.txt 
True  
C:\PythonScript\ E:\\mytest\\test_01.txt 
False  
C:\PythonScript\ E:\\mytest\\test_02.txt 
False 

只有第一个文件(test_00.txt)为真,因为位于正确的目录

+0

'print INPUT_txt'返回什么? –

+0

你有问题吗?一个问题?您向我们展示了一些代码和一些输出,但仍不清楚您要问什么。 – user2357112

+0

如果您的输入中有空格,那可能是您的问题。你在逗号分割,所以文件名保留空白。 – user2357112

回答

1

你不需要map(str, INPUT_txt.split(",")) - 元素已经是字符串。除此之外,它只是通过删除空白来清理分割文件名。

INPUT_txt = raw_input("Input File(s): ") 
element = [ss for ss in (s.strip() for s in INPUT_txt.split(",")) if ss] 
for filename in element: 
    print os.path.abspath(filename) 
    print os.path.isfile(filename) 
+0

我意外地输入'strip'而不是'split'整理帖子时。现在它是固定的。 – tdelaney

+0

非常感谢! –

1

试试这个:

import os 

INPUT_txt = raw_input("Input File(s): ") 
element = map(str, INPUT_txt.split(",")) 
for filename in element: 
    print filename 
    print os.path.isfile(filename) 

注重您正在使用(你的情况“”)分隔,例如输入的序列:

Input file(s): ..\\file1.txt,C:\\file2.txt,results\\file3.txt 

将产生一个正确的输出,而:

Input file(s): ..\\file1.txt, C:\\file2.txt , results\\file3.txt 

会不。