Argparse-AttributeError: '_StoreAction' object has no attribute 'parse_args'

Argparse-AttributeError: '_StoreAction' object has no attribute 'parse_args'

我是第一次尝试使用 argparse。我尝试编写代码,但不幸的是,我遇到了错误。

import argparse
import pandas as pd
from data_util.data_loader import Data_load


def argparser():
    parser = argparse.ArgumentParser(description='Parameters')
    parser = parser.add_argument('--dataset_path', help='data_directory',metavar='Path',
                                 default='D:/content_search/data_util/data/ArticleDataset.json')
    args = parser.parse_args()
    return args


def main():
    args = argparser()
    data_frame = Data_load(args.dataset_path)
    print(data_frame)


if __name__ == '__main__':
    main()

我收到以下错误:

D:\Content_search\Scripts\python.exe D:/content_search/main.py
Traceback (most recent call last):
  File "D:/content_search/main.py", line 21, in <module>
    main()
  File "D:/content_search/main.py", line 15, in main
    args = argparser()
  File "D:/content_search/main.py", line 10, in argparser
    args = parser.parse_args()
AttributeError: '_StoreAction' object has no attribute 'parse_args'

Process finished with exit code 1

请帮助我理解我在哪里犯了错误。提前致谢。

您在函数 arparser() 中定义了两次解析器。删除解析器 = parser.add_argument 并仅使用 parser.add_argument 如下所示。

import argparse
import pandas as pd
from data_util.data_loader import Data_load


def argparser():
    parser = argparse.ArgumentParser(description='Parameters')
    parser.add_argument('--dataset_path', help='data_directory',metavar='Path',
                                 default='D:/content_search/data_util/data/ArticleDataset.json')
    args = parser.parse_args()
    return args


def main():
    args = argparser()
    data_frame = Data_load(args.dataset_path)
    print(data_frame)


if __name__ == '__main__':
    main()