为何无法获取完整文件路径?脚本创建目录位置不符预期
解决Python脚本创建文件夹路径不符的问题
你的问题出在os.getcwd()这个函数上——它获取的是当前工作目录,而不是脚本所在的目录,也不是桌面目录。如果是从C:\Users\name这个路径启动脚本,工作目录就会是这里,所以文件夹自然建在了用户目录下。
下面给你几种针对性的解决方案:
方法1:直接指定桌面路径
直接把父路径设为桌面的绝对路径,注意用r前缀避免转义字符的问题:
import os directory = "Photos not in both folders" parent_dir = r"C:\Users\name\Desktop" path = os.path.join(parent_dir, directory) os.mkdir(path) print(path)
方法2:动态获取桌面路径(跨平台通用)
如果想让脚本在Windows、macOS或Linux上都能自动找到桌面,用os.path.expanduser动态获取用户目录,再拼接桌面路径:
import os directory = "Photos not in both folders" # 自动获取当前用户的桌面路径 parent_dir = os.path.join(os.path.expanduser("~"), "Desktop") path = os.path.join(parent_dir, directory) os.mkdir(path) print(path)
方法3:在脚本所在目录创建文件夹
要是你最初的需求是在脚本本身所在的目录创建文件夹,而不是桌面,就需要获取脚本自身的路径:
import os directory = "Photos not in both folders" # 获取脚本文件所在的目录 script_dir = os.path.dirname(os.path.abspath(__file__)) path = os.path.join(script_dir, directory) os.mkdir(path) print(path)
内容的提问来源于stack exchange,提问作者ThePawn08
相关产品推荐
相关产品推荐

