Python脚本指定路径保存TXT文件(跨Linux/Windows平台)
解决Python脚本跨平台路径问题(生成文件到脚本所在目录)
问题根源
你的脚本没有基于自身所在目录构建文件路径,导致生成的desafio115.txt被放到了上级的Python Course文件夹,且未处理Windows与Linux的路径分隔差异。
修复方案
1. 获取脚本所在绝对目录
推荐使用Python 3.4+自带的pathlib模块(语法更简洁),也可以用兼容旧版本的os模块:
- pathlib写法:
from pathlib import Path # 获取脚本所在的绝对目录 script_dir = Path(__file__).parent.resolve()
- os模块写法:
import os # 获取脚本所在的绝对目录 script_dir = os.path.dirname(os.path.abspath(__file__))
2. 拼接目标文件路径
用跨平台的方式拼接文件名,自动适配系统路径分隔符:
- pathlib写法:
file_path = script_dir / "desafio115.txt"
- os模块写法:
file_path = os.path.join(script_dir, "desafio115.txt")
3. 修改文件操作逻辑
把脚本中所有直接写"desafio115.txt"的地方替换为file_path,示例:
# 检查文件是否存在,不存在则创建 if not file_path.exists(): file_path.touch() # pathlib创建空文件 # 或用open函数:open(file_path, 'w', encoding='utf-8').close() # 读写文件示例 with open(file_path, 'r+', encoding='utf-8') as f: existing_content = f.read() f.write("\n新增的内容")
跨平台原理
pathlib是面向对象的路径工具,会自动根据当前操作系统选择/(Linux)或\(Windows)作为路径分隔符。os.path系列函数经过多年迭代,完全兼容各主流操作系统的路径规则,无需手动处理分隔符差异。
内容的提问来源于stack exchange,提问作者ElSantAna
相关产品推荐
相关产品推荐

