报错:
报错信息显示如下:
AttributeError: partially initialized module 'argparse' has no attribute 'ArgumentParser' (most likely due to a circular import)
错误原因:
先附上源代码:
import argparse
parser = argparse.ArgumentParser(description='Demo of argparse')
parser.add_argument('--epochs', type=int, default=30)
parser.add_argument('--batch', type=int, default=4)
args = parser.parse_args()
print(args)
epochs = args.epochs
batch = args.batch
print('show {} {}'.format(epochs, batch))
翻译报错信息的意思是循环引用argparse,检查了许久发现是因为自己的文件名也命名成了argparse,和import argparse的argparse模块名一样。这样就导致了这个python文件自己导入自己而不是导入的argparse模块,所以发生了报错。
解决方法:
将文件名修改成别的名字(不要和关键字、导入的模块或者包重名,我修改成了argparse_test