我想删除html文件中的所有内容并添加<!DOCTYPE html><html><body>
。
到目前为止,这是我的代码:
with open('table.html', 'w'): pass
table_file = open('table.html', 'w')
table_file.write('<!DOCTYPE html><html><body>')
运行我的代码后,table.html
现在为空。为什么呢?
我该如何解决?
答案 0 :(得分:7)
看起来你没有关闭文件,第一行什么也没做,所以你可以做两件事。
跳过第一行并最后关闭文件:
table_file = open('table.html', 'w')
table_file.write('<!DOCTYPE html><html><body>')
table_file.close()
或者如果您想使用with
语句,请执行以下操作:
with open('table.html', 'w') as table_file:
table_file.write('<!DOCTYPE html><html><body>')
# Write anything else you need here...
答案 1 :(得分:4)
with open('table.html', 'w'): pass
table_file = open('table.html', 'w')
table_file.write('<!DOCTYPE html><html><body>')
这会打开文件table.html两次,而你也没有正确关闭文件。
如果您使用 ,那么:
with open('table.html', 'w') as table_file:
table_file.write('<!DOCTYPE html><html><body>')
with 会在范围后自动关闭文件。
否则你必须像这样手动关闭文件:
table_file = open('table.html', 'w')
table_file.write('<!DOCTYPE html><html><body>')
table_file.close()
并且您不必使用和运算符。
答案 2 :(得分:1)
我不确定您使用with open('table.html', 'w'): pass
尝试实现的目标。请尝试以下方法。
with open('table.html', 'w') as table_file:
table_file.write('<!DOCTYPE html><html><body>')
您当前没有关闭该文件,因此更改未写入磁盘。