我有一个Python脚本,在我看来应该:
- 打开文件
- 将其内容保存在变量中
- 对于变量中的每一行:
- 使用正则表达式对其进行编辑
- 将其附加到另一个变量
- 将第二个变量写入原始文件
这是脚本的MWE版本:
# [omitting some setup]
with open(setfile,'r') as setfile:
olddata = setfile.readlines()
newdata = ''
for line in olddata:
newdata += re.sub(regex,newset,line)
with open(setfile,'w') as setfile:
setfile.write(newdata)
运行脚本时,出现以下错误:
Traceback (most recent call last):
File C:\myFolder\myScript.py,line 11,in <module>
with open(setfile,'w') as setfile:
TypeError: expected str,bytes or os.PathLike object,not _io.TextIOWrapper
据我所知,Python抱怨将setfile
变量作为open()
的参数来接收,因为它不是预期的类型,但是为什么它在以前接受它(当我只读取文件时)?
我想我的错误很明显,但是由于我是Python的新手,所以我找不到它的位置。有人可以帮我吗?