2015-12-14 211 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