python .write(raw_input('>'))有效但下一个命令行显示“无”

时间:2017-07-26 15:35:00

标签: python python-2.7

我是python的新手,也是编码的新手。我还没有找到这个问题的具体答案,但我确信这很简单。

我可以在'r +'模式下打开一个文件,并根据原始输入为它写一个字符串。它运行良好,并将原始输入写入文件,但命令行中的下一行自动返回单词“None”。

这是我的代码

  

print txt.read()

     

打印“请输入一些要添加到文件中的文字:”

     

print txt.write(raw_input('>'))

     

打印“谢谢”

这是回归

  

请输入一些要添加到文件中的文字:

     

这是上午11:26的一些文字

     

     

由于

如何摆脱这种“无”输出,以及导致它的原因是什么?我一直在寻找一个回归论点,但我无法弄清楚该怎么做。

另外,如何将原始输入字符串放在我正在写入的文档的新行上?

谢谢!

4 个答案:

答案 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,/)方法     将字符串写入流。     返回写入的字符数(始终等于     字符串的长度)。