2011-06-14 68 views
1

我想複製置於登錄的當前用戶的文件夾中的文件。如何在路徑指定當前用戶vairable名到文件

,所以我已搜查瞭如何識別已登錄用戶在,所以我可以指向Windows中的用戶文件夾。 例如,我想複製Microsoft文件夾中的文件「hi.txt」。

"C:\Documents and Settings\john\Application Data\Microsoft\hi.txt" 

所以當我移動腳本到另一個OS,我希望它標識相關的用戶。

,所以我看到的選項:

import getpass 

user = getpass.getuser() 

所以現在我想放置變量「用戶」而不是指向「約翰」 但我怎麼可以把一個變量我路徑的字符串?

在此先感謝,我是新編程和新的python。

回答

5

當前用戶的主目錄可以使用os.path.expanduser()進行擴展。要打開當前用戶的主目錄中的文件"whatever",使用

with open(os.path.expanduser("~/whatever")) as f: 
    # whatever 
+0

所以,如果我想傳遞給變量的路徑字符串? – John 2011-06-14 00:33:54

+0

哦,我發現了!非常感謝你 – John 2011-06-14 00:37:35

1

代碼是從Python Shell中複製的後續,或許它可以幫助你。

>>> import getpass 
>>> user = getpass.getuser() 
>>> user 
'yang' 
>>> path = "C:\\Documents and Settings\\%s\\Application Data\\Microsoft\\hi.txt" % user 
>>> print path 
C:\Documents and Settings\yang\Application Data\Microsoft\hi.txt 
>>> 

使用%運算符。

+1

如果你用r(例如r「C:\ Documents」)作爲你的Windows路徑的前綴,只需要你的信息,你就不必自己逃脫每一個反斜槓。在Windows上工作並複製路徑時非常有用。 – Voo 2011-06-14 00:51:52

相關問題