0

我希望导入文件列表,例如:

'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)是 True 因为位于正确的目录中

4

2 回答 2

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)
于 2013-08-22T18:50:27.953 回答
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

将不会。

于 2013-08-22T18:01:18.697 回答