不要理解这缺少的1个必需的位置参数错误

时间:2019-03-19 21:22:22

标签: python python-3.x

在我的initlialize()函数中,为文件创建一个变量:

def initialize():
    # Set the output file
    output_dir="../../../output_files/aws_instance_list/"
    output_file = output_dir + "aws-master-list-" + today +'.csv'
    return output_file

我正在尝试将输出文件传递给loop_regions()函数:

def loop_regions(output_file):
    csv_file = open(output_file, mode='a+')

我收到此错误:

    loop_regions()
TypeError: loop_regions() missing 1 required positional argument: 'output_file'

我在做什么错了?

2 个答案:

答案 0 :(得分:1)

也许这会起作用:

def loop_regions():
    output_file = initialize()
    csv_file = open(output_file, mode='a+')

此外,如果您使用的是Windows,则可以使用os模块来减少initialize()方法:

import os
def initialize():
    # Set the output file
    output_dir = r'C:\..\..\..\output_files\aws_instance_list'
    return os.path.join(output_dir, 'aws-master-list-' + today + '.csv')

答案 1 :(得分:1)

您已经定义了loop_regions(output_file),但您却像loop_regions()这样称呼它。进行类似loop_regions(initialize())的操作会使其工作或将initialize的结果分配给变量并将其传递给loop_regions

请注意,您为output_file命名了两个不同的事实并不能将它们绑定在一起。