Python,使用选项变量作为文件名
Python, use option variable as file name
我正在尝试使用 Python option/variable 作为我将在脚本中使用的 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'
您正在尝试访问名为 hostname
的变量的 csv
属性,该变量当然不存在,因为 hostname
只是一个字符串,而字符串不存在有一个 .csv
属性。
如果您尝试通过将 .csv
附加到主机名的 值 来创建文件名,您需要类似的东西:
file = '%s.csv' % hostname
或者:
file = hostname + '.csv'
此外,您需要在 访问args.hostname
.
之前调用parser.parse_args()
我正在尝试使用 Python option/variable 作为我将在脚本中使用的 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'
您正在尝试访问名为 hostname
的变量的 csv
属性,该变量当然不存在,因为 hostname
只是一个字符串,而字符串不存在有一个 .csv
属性。
如果您尝试通过将 .csv
附加到主机名的 值 来创建文件名,您需要类似的东西:
file = '%s.csv' % hostname
或者:
file = hostname + '.csv'
此外,您需要在 访问args.hostname
.
parser.parse_args()