如何在编码时无需使用文件绝对路径,仅用文件名操作文件?
当然有办法!每次写一长串绝对路径确实太繁琐了,这里给你几个实用方案,你可以根据自己的使用场景来选:
把文件放到当前工作目录(CWD)
当你直接用open("Dummyfile.txt", "r")时,Python会自动在当前工作目录里查找目标文件。你可以先确认自己当前的工作目录是哪里:import os print(os.getcwd()) # 输出当前脚本运行的默认目录如果这个目录不是你存放文件的位置(比如
C:\Users\aaa\Downloads),直接切换过去就行:os.chdir("C:\\Users\\aaa\\Downloads")之后再用
open("Dummyfile.txt", "r")就能直接找到文件了。定义基础路径,动态拼接文件名
不想切换目录的话,可以先把常用的文件目录存成变量,再用os.path.join拼接路径(这个方法还能自动适配Windows、Linux/mac的路径分隔符,避免跨系统报错):import os # 把你的目标目录提前存好 FILE_BASE_DIR = "C:\\Users\\aaa\\Downloads" # 动态拼接路径后打开文件 fname = open(os.path.join(FILE_BASE_DIR, "Dummyfile.txt"), "r")之后换文件或者换目录,只需要修改
FILE_BASE_DIR或者文件名,不用每次重复写全路径。让脚本和文件放在同一目录下
如果你的Python脚本和Dummyfile.txt放在同一个文件夹里(比如都放到Downloads文件夹),那直接用open("Dummyfile.txt", "r")就能找到文件,完全不用写任何路径。在IDE里设置默认工作目录
如果你用PyCharm、VS Code这类IDE,可以直接在运行配置里把工作目录设为C:\Users\aaa\Downloads。比如在PyCharm里,点击运行按钮旁的配置选项→修改「Working directory」为你的文件目录,这样每次运行脚本时,默认就会在这个目录里查找文件。
另外小提醒:如果是多人协作或者要部署到其他机器,硬编码路径容易出问题,用os.path.join或者读取环境变量的方式会更灵活哦。
内容的提问来源于stack exchange,提问作者Abhishek Pandey




