我想将文件从一个位置复制到当前用户的桌面路径。要在Windows CMD中获得此权限,应为%userprofile%\Desktop
我尝试过:
source_path = r"\\cpd-sts\UsersSoftware\Cognos"
dest_path = os.path.join(os.environ["HOMEPATH"], "Desktop")
file_name = "\\Impromptu_User.zip"
shutil.copyfile(source_path + file_name, dest_path + file_name)
输出错误为:
FileNotFoundError: [Errno 2] No such file or directory: '\\Users\\joshua\\Desktop\\Impromptu_User.zip'
答案 0 :(得分:0)
Unix使用/
进行文件分离,而不使用\
。请尝试以下操作:
source_path = r"/cpd-sts/UsersSoftware/Cognos"
dest_path = os.path.join(os.environ["HOMEPATH"], "Desktop")
file_name = "/Impromptu_User.zip"
shutil.copyfile(source_path + file_name, dest_path + file_name)
答案 1 :(得分:0)
您未在目标路径中指定“驱动器”,例如C:
。 Windows上的HOMEPATH
环境变量不包含它。还有第二个变量HOMEDRIVE
,您必须在该变量之前加上路径。再说一遍,不清楚为什么不首先使用USERPROFILE
,因为您在问题中特别提到了它,并且其中包括驱动器和路径。
您可能要为此使用winshell
软件包,因为它提供了访问这些特殊文件夹的便捷功能:
>>> import winshell
>>> winshell.desktop()
'C:\\Users\\(username)\\Desktop'
答案 2 :(得分:-1)
我找到了解决方法:
source_path = r"\\cpd-sts\UsersSoftware\Cognos"
dest_path = ("C:" + (os.path.join(os.environ["HOMEPATH"], "Desktop")) + "/Cognos")
file_name = "\\Impromptu_User.zip"
shutil.copyfile(source_path + file_name, dest_path + file_name)