我正在尝试使用Python选项/变量作为我将在脚本中使用的filename.csv文件的基础。
这是我的代码:
def get_args():
'''This function parses and return arguments passed in'''
# Assign description to the help doc
global hostname
global username
global password
global file
parser = argparse.ArgumentParser()
parser.add_argument('--hostname', required=True)
parser.add_argument('--username', default='root', type=str)
parser.add_argument('--password', default='(&653hE@lU')
hostname = args.hostname
username = args.username
password = args.password
args = parser.parse_args()
file = hostname.csv
运行时出现以下错误:
./4collect.py --hostname bar
Traceback (most recent call last):
File "./4collect.py", line 82, in <module>
get_args()
File "./4collect.py", line 67, in get_args
parser.add_argument('--file', default=format(args.hostname)).csv
AttributeError: '_StoreAction' object has no attribute 'csv'
答案 0 :(得分:1)
您正在尝试访问名为csv
的变量的hostname
属性,这当然不存在,因为hostname
只是一个字符串而字符串没有.csv
属性。
如果您尝试通过将.csv
附加到主机名的值来创建文件名,则需要一些内容:
file = '%s.csv' % hostname
或者:
file = hostname + '.csv'
此外,您需要在访问parser.parse_args()
之前致电args.hostname
。