python在txt_文件中的现有行之间添加文本
我正在尝试做一个简单的日记练习程序。想在我写日记的时候加上几行。日记将在“完成”或“完成”行之前保留get输入python在txt_文件中的现有行之间添加文本,python,Python,我正在尝试做一个简单的日记练习程序。想在我写日记的时候加上几行。日记将在“完成”或“完成”行之前保留get输入 contents[0] Diary_file contents[1] 'empty' contents[2] 'Start line' contents[3] '----------------------------' contents[4] Diary No.1 **<- first diary starts from here** contents[5] "I h
contents[0] Diary_file
contents[1] 'empty'
contents[2] 'Start line'
contents[3] '----------------------------'
contents[4] Diary No.1 **<- first diary starts from here**
contents[5] "I had a good day
...
===============================
(for counting logic)
diary counts
0
错误:
*TypeError:序列项4:应为字符串,未找到非类型
看起来您的
writing()
方法正在返回None
您可以将代码也发布到该方法中吗?在您的
put\u-between
功能中,您将finish\u-line
设置为i
,然后执行finish\u-line+2
。但是i
变量在中用于内容中的i
,这意味着它有时(finish\u line=i
)是一行文本,有时(finish\u line=2
)是一个整数
您可能应该使用.index()
方法搜索单词finish
,因为您的代码表明它是行中唯一的单词:
for text in ('Finish', 'finish'):
try:
finish_line = contents.index(text)
break
except ValueError:
pass
else:
finish_line = 2
您正在从文本中提取count
,但没有将其转换为整数。您需要使用count=int(…)
来获得一个整数,以便以后可以执行count+=1
来增加它
您可能可以通过在换行符上连接来写入输出:
outfile.write('\n'.join(contents))
或
是的,我还忘了在输入法上加上返回。桑克斯!现在读课文很好。仍然无法写入文本文件,我将尝试一下。谢谢
outfile.write('\n'.join(contents))
print('\n'.join(contents), file=outfile)