我在Windows中使用包含括号的文件,这需要外部进程中的引号。
我正在尝试操作该位置,但是当字符串与引号一起传递时,当我使用os.path.split时,双引号也被拆分。有没有更好的方法来做到这一点,以便我不需要检查输入字符串和条带和/或替换双引号?我将把文件名加入到一条没有双引号的新路径中。
fileWithPath = r'"C:\TEMP\my(file).txt"'
... do some stuff ...
sourcepath, filename = os.path.split(fileWithPath)
sourcepath有价值:'" C:\ TEMP'
文件名有值:'我的(文件).txt"'
答案 0 :(得分:3)
首先想到的是核对窗口提供的双引号:
firsWithPath = fileWithPath.replace('"', '')
但是如果你想保留一些引用并且核实只有一个引用,那么你最好用:
firsWithPath = fileWithPath.strip('"')
完成其中任何一项操作后,在'\\'
上拆分应该可以正常工作
修改强>:
正如@jdi在评论中提到的那样,你真的应该分开os.path.sep
而不是'\\'
以便于移植