[英]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.