簡體   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