Python 对象没有属性,不会写入.txt文件

Python 对象没有属性,不会写入.txt文件,python,string,attributes,file-writing,Python,String,Attributes,File Writing,我正在尝试将数据写入.txt文件。正在写入的数据是以下代码中randrange函数的随机整数。 尝试写入文件时,我不断收到一个错误,说明对象没有属性。 请帮忙 import random def main(): file_size = open('numbers.txt','w') file_size = random.randint(4, 7) print("file_size = ", file_size) for _ in range(file_si

我正在尝试将数据写入.txt文件。正在写入的数据是以下代码中
randrange
函数的随机整数。
尝试写入文件时,我不断收到一个错误,说明对象没有属性。
请帮忙

import random

def main():
    file_size = open('numbers.txt','w')

    file_size = random.randint(4, 7)

    print("file_size = ", file_size)

    for _ in range(file_size):
        random_num = random.randrange(5,20,2)
        if random_num % 2 ==1:
            print(random_num)

    file_size.write(str(random_num))

    file_size.close()
    print('Data has been written.')

main()

您有一个大错误,因为
文件大小首先是一个流,然后是一个整数。
对于
文件
文件大小

此外,我认为您希望将循环中的每个数字写入文件,因此它必须进入if块:

import random   

def main():
    file = open('numbers.txt', 'w') #rename to file

    file_size = random.randint(4, 7)

    print("file_size = ", file_size)

    for _ in range(file_size):
        random_num = random.randrange(5, 20, 2)
        if random_num % 2 == 1:
            print(random_num)
            #use file not file_size
            file.write(str(random_num)+'\n') #write every odd number to stream?

    #use file not file_size    
    file.close()
    print('Data has been written.')


main()

你说得对吗?而且您过度写入了变量
文件大小
,这是问题的根本原因从您的错误可以看出,缩进不是故障。您的问题是您正在覆盖
文件大小
,为了避免此问题,请停止覆盖它。您可能希望使用上下文管理器打开文件对象