Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python在txt_文件中的现有行之间添加文本_Python - Fatal编程技术网

python在txt_文件中的现有行之间添加文本

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

我正在尝试做一个简单的日记练习程序。想在我写日记的时候加上几行。日记将在“完成”或“完成”行之前保留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 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)