如何通过python将生成的整数输出保存到txt文件中

时间:2017-09-09 15:53:59

标签: python-3.x

我编写的代码用于生成0500000000到0500000100之间的数字:

def generator(nums):
    count = 0
    while count < 100:
        gg=print('05',count, sep='')
        count += 1  
g = generator(10)

因为我使用linux,我想我可以使用这个命令python pythonfilename.py >> file.txt

然而,我收到了一个错误。

所以,在我添加g = generator(10)之前:

with open('file.txt', 'w') as f:
    f.write(gg)
    f.close()

但是我收到了一个错误:

  

TypeError:write()参数必须是str,而不是None

任何解决方案?

2 个答案:

答案 0 :(得分:1)

错误:

当您使用gg=print()时,您将gg设置为None

然后导致错误,因为gg不是字符串,它是none。

解决方案1 ​​

如果您希望gg等于05, count,请使用gg = "05" + str(count)

然后您必须单独打印结果。

解决方案2

如果您希望gg等于"print('05',count, sep='')"(将其写入文件),则在文字周围加上语音标记

答案 1 :(得分:1)

如果参数必须是str,请将其设为:

with open('file.txt', 'w') as f:
    f.write(str(gg))
    f.close()

但真正的问题(正如@世界统治者所说)是你将gg定义为print的结果; print没有真实结果,会返回None。您可能希望将gg指定为:

gg = '05' + str(count)

但是,尽管如此,阻止您使用printpython pythonfilename.py >> file.txt的错误是什么?

如果我将以下文件创建为printy.py

def generator(nums):
    count = 0
    while count < 100:
        print('05', count, sep='')
        count += 1

g = generator(10)

在终端运行中:

python3 printy.py >> file.txt

然后我得到一个包含一百行数字的漂亮file.txt文件。