我希望能够使用python代码在文件中添加特定字符。
我尝试使用读取函数,即含义列表,但这些函数出现错误“ TypeError: 'builtin_function_or_method
”
我相信这意味着python无法使用列表函数将字符写入特定位置
错误方式:
文件:1)5
代码:
while true:
with open ('file','w') as f:
f.writeline[0]=+1
with open ('file','r') as f:
fc = f.read()
print (fc)
预期输出:
5,6,7,8,9,10,11,12,13,14,15....
我以为这行代码将增加5行,直到我停止程序为止,但是它发送了先前描述的错误代码。有没有办法编写代码以使其按预期方式执行?
答案 0 :(得分:0)
首先,您的代码将具有无限循环:
while True:
您是否有任何检查变量?
第二,我认为这不能为您工作:f.writeline[0]=+1
我不确定我的推荐代码是否可以帮助您解决问题,但是如果与您的想法不符,请对其进行评论。
check = True
# file = '1)5'
add_val = 5
while check:
open('file', 'w').write(add_val + ",")
add_val += 1
if add_val > 20: # condition to break the while loop
check = False
f = open('file','r').read()
print (f)
答案 1 :(得分:0)
基本上,您需要构建一个函数来更新单个字符。我认为这可以解决问题,但是我实际上只花了三分钟就写完了,所以请注意...
def write_at_index(filename,y_pos,x_pos,character):
"""Write a character 'character' at the given index"""
lines = 0 //begin lines outside scope of the with statement.
with open(filename,"r") as file:
lines = file.readlines()
if len(lines)<y_pos:
raise Exception('y pos out of bounds')
if len(lines[y_pos]) < x_pos
raise Exception('x_pos out of bounds')
lines[y_pos][x_pos] = character
with open(filename,"w") as file:
file.writelines(lines)