代码之家  ›  专栏  ›  技术社区  ›  isar

处理文件名时解析输入

  •  5
  • isar  · 技术社区  · 6 年前

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

    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 回复  |  直到 6 年前
        1
  •  3
  •   Jonathan Gagne    6 年前

    以下是您想要的:

    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']
    
    推荐文章