繁体   English   中英

如何在python 3中用/替换\\\\?

[英]How do i replace \\ with / in python 3?

我的程序中有一部分需要使用目录,我当前的代码是:

path = os.path.join('C:','Users',getpass.getuser(),'AppData','Roaming','Microsoft','Windows','Start Menu','Programs','Startup')

可变路径打印:'C:Users \\\\ name \\\\ AppData \\\\ Roaming \\\\ Microsoft \\\\ Windows \\\\开始菜单\\\\ Programs \\\\ Startup'。

我的问题是如何使var path打印'C:Users / name / AppData / Roaming / Microsoft / Windows /开始菜单/程序/启动'

使用字符串的.replace()方法

"C:Users\\name\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup".replace('\\', '/')

#'C:Users/name/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup'

如注释中所建议,系统将执行此操作。

最好更改os.sepos.path.sep ,但是您可以这样做。

>>> os.path.sep = '\\'
>>> os.path.sep
'\\'              #we have changed the separator
>>> os.sep.join(['C:','Users',getpass.getuser(),'AppData','Roaming','Microsoft','Windows','Start Menu','Programs','Startup'])
'C:\\Users\\name\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup'

但是您可以简单地使用它,

>>> '\\'.join(['C:','Users',getpass.getuser(),'AppData','Roaming','Microsoft','Windows','Start Menu','Programs','Startup'])
'C:\\Users\\name\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup'

嗯,两者都与评论中提到的相同!

另外, os.path.join不依赖于os.sepos.path.sep因此更改它们不会产生任何效果。

您可以将'\\\\'替换为'/'

path = path.replace('\\','/')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM