使用python输出数据为none

时间:2017-03-19 22:37:58

标签: python-3.x

我在python中创建了一个简单的代码,以文本格式输出数据,代码是:

f = open("my.txt" , "w")
import string
for x in string.ascii_uppercase:
        for a in string.ascii_uppercase:
            b = print(x,a)
            f.write(str(b))

f.close()

输出应该是:

A A
A B
A C

实际上它在屏幕上正确打印但是当我打开txt文件时它显示无无无....等。有什么问题?

3 个答案:

答案 0 :(得分:1)

您正在将print语句分配给变量,这确实是错误的,这是一个快速修复:

f = open("my.txt" , "w")
import string
for x in string.ascii_uppercase:
    for a in string.ascii_uppercase:
        b = x + " " + a + "\n"
        f.write(str(b))

f.close()

答案 1 :(得分:0)

print(something)在Python中返回None。因此,当您编写b = print(x,a)时,您将b分配给print或None的返回值,这就是文件显示的原因。

如果您要写入文件并进行打印,可以说f.write(x + " " + a)

答案 2 :(得分:0)

试试这个:

f = open("my.txt" , "w")
import string
for x in string.ascii_uppercase:
   for a in string.ascii_uppercase: 
      b = print(x,a)
      f.write(str(x),str(b) )
f.close()

我希望我帮助你