【问题标题】:Parse input when dealing with file names处理文件名时解析输入
【发布时间】:2018-10-12 02:10:34
【问题描述】:

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

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 中有空格)。

除了input()s 之外,有没有类似argparse 的东西?
最好的处理方法是什么?

【问题讨论】:

    标签: python shlex


    【解决方案1】:

    这是你想要的:

    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']
    

    【讨论】:

      猜你喜欢
      • 2013-10-04
      • 2014-07-12
      • 1970-01-01
      • 2019-11-08
      • 1970-01-01
      • 2018-11-12
      • 1970-01-01
      • 1970-01-01
      • 2017-05-04
      相关资源
      最近更新 更多