Windows 11下Python程序如何使用相对路径读取同文件夹文件
实现Python读取同目录文件的相对路径方案
方案1:直接使用文件名(最简场景)
如果你的Python脚本是直接双击运行,或者从脚本所在文件夹打开终端执行,那么可以直接用文件名作为路径,Python会自动在当前工作目录(即脚本所在文件夹)查找文件:
with open('textfile.txt', encoding='utf8') as file: # 读取文件的逻辑 pass
注意:如果从其他路径的终端运行脚本(比如python C:\xxx\pythonfile.py),当前工作目录不是脚本所在文件夹时,这个方法会失效。
方案2:基于脚本目录构建路径(通用可靠)
用Python内置的__file__变量获取脚本的绝对路径,再通过路径处理工具拼接同目录的txt文件路径,这个方法不受运行时工作目录影响,是最可靠的方案:
方法A:使用os.path模块(兼容所有Python版本)
import os # 获取脚本所在文件夹的绝对路径 script_folder = os.path.dirname(os.path.abspath(__file__)) # 拼接txt文件的完整路径 txt_file_path = os.path.join(script_folder, 'textfile.txt') with open(txt_file_path, encoding='utf8') as file: # 读取文件的逻辑 pass
方法B:使用pathlib模块(Python 3.4+推荐,语法更简洁)
from pathlib import Path # 获取脚本所在文件夹的绝对路径 script_folder = Path(__file__).parent.resolve() # 拼接txt文件路径(支持/运算符) txt_file_path = script_folder / 'textfile.txt' with open(txt_file_path, encoding='utf8') as file: # 读取文件的逻辑 pass
内容的提问来源于stack exchange,提问作者MasterProgrammer254
相关产品推荐
相关产品推荐

