Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/305.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.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 open()函数问题_Python_Python 3.x - Fatal编程技术网

python open()函数问题

python open()函数问题,python,python-3.x,Python,Python 3.x,我写的一个文件也有问题,基本上我想要它做的是,我得到一个输入()说“输入你的名字:”存储在一个变量中,现在我创建了一个文件,写了我想要的内容,并根据这个人输入的内容()我想把这些信息放在文件的特定行上 这就是我所做的,它是有效的,但它是覆盖当前文本,而不是插入文本和移动当前文本超过 eg 现在我只想让变量像现在一样进入文件,但不要覆盖当前文本,任何建议都将不胜感激 我正在使用Python3.2 要将文本插入文件,请将文件中的文本读入变量。将文本插入正确的位置,然后将文本写回文件 像这样: wit

我写的一个文件也有问题,基本上我想要它做的是,我得到一个输入()说“输入你的名字:”存储在一个变量中,现在我创建了一个文件,写了我想要的内容,并根据这个人输入的内容()我想把这些信息放在文件的特定行上

这就是我所做的,它是有效的,但它是覆盖当前文本,而不是插入文本和移动当前文本超过

eg

现在我只想让变量像现在一样进入文件,但不要覆盖当前文本,任何建议都将不胜感激


我正在使用Python3.2

要将文本插入文件,请将文件中的文本读入变量。将文本插入正确的位置,然后将文本写回文件

像这样:

with open("filename", 'rt', encoding="utf8") as infile:
    text = infile.read()

text = text[:20] + 'inserted text' + text[20:]


with open("filename", 'wt', encoding="utf8") as outfile:
    outfile.write(text)

但是,从您的问题来看,我怀疑文件实际上事先不存在,在这种情况下,最好的方法是首先将整个文本创建为变量,然后将其写入文件

为什么不创建一个模板,用新数据填充它,然后动态创建整个字符串呢?实际上,不能将数据插入到文件中。相反,您需要读入原始内容,然后写出一个新的内容,并在旧内容包围的所需位置输出附加数据。如何将变量放入插入的文本位?你是用引号还是只写变量?好的,谢谢,代码基本上是在重新读取文件并修改它,然后重新输出包含新文本的文件,因为您不能只修改当前的现有文件?@user1265535:您的第一个问题在现有的每个Python教程的第一部分中都有答案。我建议你在继续之前先学习一两个教程。可以,您可以修改当前的现有文件。但是你不能插入它,一旦你知道一个文件是如何工作的,这是显而易见的。
with open("filename", 'rt', encoding="utf8") as infile:
    text = infile.read()

text = text[:20] + 'inserted text' + text[20:]


with open("filename", 'wt', encoding="utf8") as outfile:
    outfile.write(text)