write('n')命令不存放新行



我正在colab python中的转换器文件上工作。当在特定位置创建文本文件时,我需要它写下0和更改行,尽管它没有。

请帮忙,这是我的代码:

f=open('dimac_outfs1.txt')
with open('dimac_outfs1.txt','a') as writefile:
for i in range(len(my_array)):
if my_array[i]!=0: 
writefile.write(str(my_array[i]))             
else:
writefile.write(str(str(my_array[i] + 'n'))    

else:
writefile.write(str(my_array[i]))
writefile.write("n")

没有帮助。

my_array是一个numpy。ndarray女巫包括:数组([' 1 ', ' ', '- 2,…, ' ', '0', ' '], dtype='<U21'),它有正负整数,也有零和空格。>

如果我理解正确的话,您的命令不起作用。我想如果你检查调试器,你会注意到有一个EOL错误:

else:
writefile.write(str(str(my_array[i] + 'n')) 

你少了一个括号。否则,

with open(<file>,'a') as f:
f.write(str(i)+'n')

工作,所以我猜EOL错误应该是一个。

还有懒我爱的提示:

我可以建议你在你的代码开头加上一个'n',如果你追加到文件。

确保您在正确的路径中,如果需要,请输入您附加到的文件的绝对路径。

Python非常擅长简化一切,你也可以这样使用for循环:

for elem in list :

elem将在每次循环中为list[0], list[1]等。

希望我回答了你的问题😄

最新更新