简体   繁体   English

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

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

I have a part in my program that requires working with directories.My current code is: 我的程序中有一部分需要使用目录,我当前的代码是:

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

Variable path prints: 'C:Users\\\\name\\\\AppData\\\\Roaming\\\\Microsoft\\\\Windows\\\\Start Menu\\\\Programs\\\\Startup'. 可变路径打印:'C:Users \\\\ name \\\\ AppData \\\\ Roaming \\\\ Microsoft \\\\ Windows \\\\开始菜单\\\\ Programs \\\\ Startup'。

My question is how can I make var path print 'C:Users/name/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup' 我的问题是如何使var path打印'C:Users / name / AppData / Roaming / Microsoft / Windows /开始菜单/程序/启动'

Use the .replace() method of strings 使用字符串的.replace()方法

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

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

As suggested in the comments the system does it. 如注释中所建议,系统将执行此操作。

You are better off changing os.sep or os.path.sep but however you can do this. 最好更改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'

But you can simply use this though, 但是您可以简单地使用它,

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

Well both are the same as mentioned in the comments!. 嗯,两者都与评论中提到的相同!

Also os.path.join does not depend upon os.sep or os.path.sep so changing them doesn't prove any effect. 另外, os.path.join不依赖于os.sepos.path.sep因此更改它们不会产生任何效果。

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

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

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

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