在我的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'
我在做什么错了?
答案 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
命名了两个不同的事实并不能将它们绑定在一起。