如何在指定目录workdir内创建文本文件并追加内容?
问题分析与解决
先给你捋清楚代码里的几个问题:
- 变量名混用:你定义的目录路径变量是
workdirpath,但打开文件时写的是workdir,这直接导致路径拼接错误 - glob完全多余:glob是用来匹配符合规则的文件/目录路径的,你直接传目录路径进去,要么返回空,要么只返回目录本身,这个循环根本没必要留
- 路径拼接错误:直接用
f"{workdir}.txt"会把目录名和后缀硬拼,生成的是和workdir同级的文件,而不是目录内部的文件 - 语法错误:
f.write(page.text)没有缩进,属于Python语法错误,会直接报错
修正后的代码
import os # 获取目标工作目录路径 workdirpath = os.path.dirname(self.finfo.local_file_path) # 用os.path.join正确拼接目录和文件名,确保文件生成在目录内 target_file = os.path.join(workdirpath, "your_file.txt") # 写入文件(如果要追加内容,把'w'改成'a'即可) with open(target_file, 'w') as f: f.write(page.text)
核心要点
- 用
os.path.join拼接路径是跨平台的标准写法,能避免手动拼接路径时出现的分隔符问题 - 删掉无用的glob循环,直接操作目标路径就好
- 务必保证变量名前后一致,别再出现拼写或名称混用的情况
内容的提问来源于stack exchange,提问作者jikf
相关产品推荐
相关产品推荐

