处理文件名时解析输入

时间:2018-10-12 02:10:34

标签: python shlex

当输入是路径列表时,如何解析输入?

file_in = input("Insert paths: ")  # foo.jpg "C:\Program Files\bar.jpg"
print(file_in)  # foo.jpg "C:\Program Files\bar.jpg"

我正在寻找一种干净的方法来获取列表foo.jpg "C:\Program Files\bar.jpg"中的输入['foo.jpg', 'C:\Program Files\bar.jpg'](由于Program Files中的空格,请注意第二个路径中的引号)。

是否有argparse之类的内容,但持续input()个?
最好的处理方法是什么?

1 个答案:

答案 0 :(得分:3)

这是您想要的:

import shlex

file_in = input("Insert paths: ")  # foo.jpg "C:\Program Files\bar.jpg"
print(shlex.split(file_in))  # foo.jpg "C:\Program Files\bar.jpg"

输出:

['foo.jpg', 'C:\\Program Files\\bar.jpg']