2012-11-21 85 views
1

我在Windows中使用包含括号的文件,该文件在外部进程中需要引号。Python:分割包含双引号的路径字符串

我想操纵的位置,但作为字符串正在与引号传递,当我使用os.path.split,双引号也被拆分。有没有更好的方法来做到这一点,以便我不需要对输入字符串和条进行检查和/或替换双引号?我将加入文件名到一个没有双引号的新路径。

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

源路径都有价值: ' “C:\ TEMP'

文件名有值: '我的(文件).TXT”'

+0

带钢有什么问题?无论如何,你已经开始“做一些事情”了。 '>>> fileWithPath.strip(''')' – kreativitea

+0

没什么问题,我对Python比较新,希望能找到最好的方法。 –

+1

'.strip'很容易就是最好的方法。:) – kreativitea

回答

3

,想到的第一件事就是核弹双引号是窗口为您提供:

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

但是,如果你想保留一些报价和核弹只有一个两端的人,那么你有更好:

firsWithPath = fileWithPath.strip('"') 

任一操作后,就分裂'\\'应该只是罚款

编辑

由于@jdi提到的意见,你真的应该对os.path.sep分割而非'\\'便携

+5

I会推荐使用'os.path.split'而不是“\\”上的字符串分割。它更加便携.Windows路径在python中支持“/”。 – jdi

相关问题