我是python的新手,也是编码的新手。我还没有找到这个问题的具体答案,但我确信这很简单。
我可以在'r +'模式下打开一个文件,并根据原始输入为它写一个字符串。它运行良好,并将原始输入写入文件,但命令行中的下一行自动返回单词“None”。
这是我的代码
print txt.read()
打印“请输入一些要添加到文件中的文字:”
print txt.write(raw_input('>'))
打印“谢谢”
这是回归
请输入一些要添加到文件中的文字:
这是上午11:26的一些文字
无
由于
如何摆脱这种“无”输出,以及导致它的原因是什么?我一直在寻找一个回归论点,但我无法弄清楚该怎么做。
另外,如何将原始输入字符串放在我正在写入的文档的新行上?
谢谢!
答案 0 :(得分:1)
简短回答 - 从第3行删除print
。
您的txt.write(raw_input('>'))
写入文件但不返回由None表示的任何内容。
如果您编写自己的函数而没有返回,则会发生同样的情况:
def test():
print 'None appears below me'
print test()
#None appears below me
#None
在这种情况下,您只需要调用它,它就会打印出来:
test()
#None appears below me
同样适用于write()
方法。
换行换行txt.write(raw_input('>') + '\n')
答案 1 :(得分:0)
执行txt.write(raw_input(">"))
时,您的代码会将输入写入文件,这是正确的。但是,该函数不会return
任何东西 - 它不需要。这是其中一个功能就是单独完成它们。
要摆脱它,就不要打印它!
答案 2 :(得分:0)
从print
删除print txt.write(raw_input('> '))
。它打印None
的原因是因为内置file.write()
没有返回任何内容,它只是写入文件。如果要查看用户输入的输入,请执行以下操作:
text=raw_input('Enter some text to add to the file > ')
print text
txt.write(text)
print 'Thanks'
答案 3 :(得分:0)
python 2.7无法返回
帮助(f.write) 有关内置函数的帮助写:
写(...) 写(str) - >没有。将字符串str写入文件。
Note that due to buffering, flush() or close() may be needed before
the file on disk reflects the data written.
python3.5
帮助(f.write) 有关内置函数的帮助写:
编写_io.TextIOWrapper实例的(text,/)方法 将字符串写入流。 返回写入的字符数(始终等于 字符串的长度)。