0

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

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

变量路径打印:'C:Users\\name\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup'。

我的问题是如何让 var path print 'C:Users/name/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup'

4

3 回答 3

1

正如评论中所建议的,系统会这样做。

你最好改变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.sepos.path.sep因此更改它们不会证明任何效果。

于 2017-08-09T11:09:55.223 回答
0

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

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

#'C:Users/name/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup'
于 2017-08-09T10:57:31.363 回答
0

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

path = path.replace('\\','/')
于 2017-08-09T11:20:23.403 回答