【问题标题】:Python, use option variable as file namePython,使用选项变量作为文件名
【发布时间】:2015-11-05 12:24:34
【问题描述】:

我正在尝试使用 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'

【问题讨论】:

  • 代码示例无法产生您显示的错误。 .csv 放错地方了。

标签: python variables csv argparse


【解决方案1】:

您正在尝试访问名为hostname 的变量的csv 属性,该属性当然不存在,因为hostname 只是一个字符串,而字符串没有.csv 属性。

如果您尝试通过将.csv 附加到主机名的 来创建文件名,则需要类似的东西:

file = '%s.csv' % hostname

或者:

file = hostname + '.csv'

另外,您需要在访问args.hostname之前调用parser.parse_args()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-11
    • 2010-09-18
    • 1970-01-01
    • 2022-08-16
    • 2018-09-01
    • 2021-04-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多