Python中如何获取脚本同目录文件路径并使用shutil移动文件?
解决Python脚本移动同目录文件的路径问题
要获取与脚本同目录的文件的正确路径,核心是先拿到脚本自身的绝对目录,再拼接文件名,避免依赖当前工作目录带来的问题。
修正后的代码
import shutil import os # 获取当前登录用户名 user_name = os.getlogin() # 获取脚本所在的绝对目录 script_dir = os.path.dirname(os.path.abspath(__file__)) # 拼接源文件的完整路径 source_path = os.path.join(script_dir, "file.foo") # 拼接目标路径(用os.path.join更符合跨平台规范) target_dir = os.path.join("C:", "Users", user_name, "AppData", "Roaming", "Microsoft", "Windows", "Start Menu", "Programs", "Startup") # 执行移动操作 shutil.move(source_path, target_dir)
关键说明
os.path.abspath(__file__):获取当前脚本的绝对路径(包含脚本文件名)os.path.dirname(...):从脚本的绝对路径中提取出所在目录os.path.join():自动处理不同操作系统的路径分隔符(Windows用\,Linux/macOS用/),比手动拼接字符串更可靠- 原代码中
./file.foo未加引号是语法错误,必须用字符串包裹路径
内容的提问来源于stack exchange,提问作者Remy
相关产品推荐
相关产品推荐

