You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何获取当前脚本所在目录实现同目录文件拷贝到U盘

解决方案

核心实现逻辑是通过Python内置的__file__变量动态获取当前脚本文件的绝对路径,再基于这个路径拼接你要读取的目标文件相对路径,完全不需要硬编码上级目录位置。

推荐实现(基于pathlib,Python3.4+内置)

import getpass
import shutil
from pathlib import Path

# 获取当前脚本所在的目录(即MyPythonScript文件夹路径)
script_root = Path(__file__).absolute().parent
# 拼接目标文件相对路径,自动适配不同系统的路径分隔符
src = script_root / "testfolder" / "sometext.txt"
# U盘目标路径
dst = Path("F:/")

# 可选:提前判断源文件是否存在,避免运行报错
if src.exists():
    shutil.copy(src, dst)
    print("文件拷贝成功")
else:
    print(f"未找到源文件:{src}")

说明:

  • __file__是Python内置变量,存储的是当前执行的.py脚本的完整路径
  • Path(__file__).absolute().parent会自动计算出脚本所在文件夹的绝对路径,不管你把MyPythonScript文件夹放在桌面、下载目录还是其他分区都能正确获取
  • 用/运算符拼接路径,不需要手动处理Windows的\还是其他系统的/,跨平台兼容

兼容旧版本的os模块实现

如果你的Python版本低于3.4,可以用os模块实现相同逻辑:

import getpass
import shutil
import os

# 获取当前脚本所在目录
script_root = os.path.dirname(os.path.abspath(__file__))
# 拼接源文件路径
src = os.path.join(script_root, "testfolder", "sometext.txt")
dst = "F:/"

if os.path.exists(src):
    shutil.copy(src, dst)
    print("文件拷贝成功")
else:
    print(f"未找到源文件:{src}")

额外优化建议

  • 可以增加U盘路径存在性判断,避免U盘未插入或者盘符变更导致报错
  • 如果U盘盘符不固定,还可以通过遍历磁盘分区匹配U盘特征自动识别U盘路径,不需要硬编码F盘

内容的提问来源于stack exchange,提问作者Lukas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 05:24:00