2015-12-14 80 views
3

我在Windows上使用Python,我希望我的脚本的一部分将文件从某个目录(我知道它的路径)复制到桌面。如何使用Python获取桌面位置

我用这个:

​​

虽然txtName是TXT文件的名称(完整路径)。

我得到的错误:

IOError: [Errno 2] No such file or directory: '%HOMEPATH%/DESKTOP' 

任何帮助吗?

我希望脚本可以在任何计算机上工作。

回答

5

您可以使用os.environ [“HOMEPATH”]来获取路径。现在它实际上试图找到%HOMEPATH%/ Desktop而不用替换实际的路径。

也许是这样的:

shutil.copy(txtName, os.path.join(os.environ["HOMEPATH"], "Desktop")) 
+0

工作!非常感谢你 –

12

在Unix或Linux:

import os 
desktop = os.path.join(os.path.join(os.path.expanduser('~')), 'Desktop') 

在Windows上:

import os 
desktop = os.path.join(os.path.join(os.environ['USERPROFILE']), 'Desktop') 

,并在你的命令添加:

shutil.copy(txtName, desktop) 
+0

工作!谢谢! –

+0

@BenL请投票或接受,如果你发现它有帮助或如果它解决了你的问题。 – 2015-12-14 20:36:51

+0

你和上面的人都有很好的答案。希望我能接受你们俩。现在投票。谢谢! –

0

我目前还不能评论,但基于加入位置到“桌面”用户路径的解决方案的设备有限,因为桌面可能并经常被重新映射到非系统驱动器。 要得到真正的位置应该使用Windows注册表...或通过ctypes的特殊功能,如https://stackoverflow.com/a/626927/7273599