如何使用raw_input导入Python中的文件列表

时间:2013-08-22 17:46:33

标签: python input directory raw-input os.path

我想导入一个文件列表ex:

'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,因为它位于正确的目录

2 个答案:

答案 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

不会。

答案 1 :(得分: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)