2011-06-14 77 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

相关问题