1

我在 Windows 中使用包含括号的文件,它需要在外部进程中使用引号。

我正在尝试操纵该位置,但是由于字符串与引号一起传递,因此当我使用 os.path.split 时,双引号也被拆分。有没有更好的方法来做到这一点,这样我就不需要检查输入字符串并剥离和/或替换双引号?我将把文件名加入一个没有双引号的新路径。

fileWithPath = r'"C:\TEMP\my(file).txt"'
... do some stuff ...
sourcepath, filename = os.path.split(fileWithPath)

源路径的值:'"C:\TEMP'

文件名有值:'my(file).txt"'

4

1 回答 1

3

首先想到的是取消windows给你的双引号:

firsWithPath = fileWithPath.replace('"', '')

但是,如果您想保留一些引号并在末尾只删除一个引号,那么您最好使用:

firsWithPath = fileWithPath.strip('"')

在这些操作中的任何一个之后,拆分'\\'应该可以正常工作

编辑

正如@jdi 在评论中提到的那样,你真的应该分开os.path.sep而不是'\\'为了可移植性

于 2012-11-21T20:06:56.253 回答