尝试使用I / O时继续获取属性错误

时间:2015-05-06 06:22:36

标签: python io

所以基本上我正在尝试对I / O进行某种基本的理解,我编写了这个程序,并且我试图修复任何错误,

第11行

fh.open('updated' + filename, 'w')

我一直在

AttributeError: '_io.TextIOWrapper' object has no attribute 'open'

什么是错的,我该如何解决?如果您看到任何其他错误(不是语法),请告诉我们!

filename = 'sample.txt'
fh = open(filename, 'r')
lines = fh.readlines()
x = 0
for i in lines:
  if i == '\n':
    lines[x] = lines[x]*2
  else:
    lines[x] = ''
fh.close()
fh.open('updated' + filename, 'w')
for line in lines:
  fh.write(line)

3 个答案:

答案 0 :(得分:0)

open是一个内置函数。做

fh = open('updated' + filename, 'w')

更好:

with open('updated' + filename, 'w') as fh:
    fh.write(line)

提示:每个级别的缩进使用四个空格。

答案 1 :(得分:0)

尝试其他Task.Factory.StartNew(() => { bwAnalyzer.RunWorkerAsync(); //#1 autoReset.WaitOne(); //when commented working properly Console.WriteLine("click"); //#4 });

fh = open(...)是内置函数,不是文件对象属性。

答案 2 :(得分:0)

语法没问题。但以下是我的评论 1]如果你想读一个文件并将该文件写在另一个文件中。你将错过你的第一行。你需要关闭你正在更新的文件。
2]使用try ..除了代码中的块