[英]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.sep
或os.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.sep
或os.path.sep
因此更改它们不会产生任何效果。
您可以将'\\\\'替换为'/'
path = path.replace('\\','/')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.