如何通过Faker命令行-i选项调用faker_airtravel生成机场数据
解决Faker命令行调用faker_airtravel生成机场名称的问题
问题原因
Faker命令行的-i选项要求加载的模块中必须包含一个名为Provider的类,但faker_airtravel库中定义的Provider类是AirTravelProvider,并非默认的Provider,因此直接调用会触发AttributeError。
解决方案
方案一:创建包装模块
- 新建一个名为
airport_provider.py的文件,写入以下内容:
from faker_airtravel import AirTravelProvider as Provider
- 执行以下命令生成10个机场名称:
faker -i airport_provider airport_name -r 10
其中-r 10参数用于指定生成数据的次数。
方案二:优化Python命令行写法
若不想创建额外文件,可使用更简洁的Python命令行实现(效果与原脚本一致):
python -c "from faker import Faker; from faker_airtravel import AirTravelProvider; f=Faker(); f.add_provider(AirTravelProvider); print([f.airport_name() for _ in range(10)])"
内容的提问来源于stack exchange,提问作者Emanuel Oliveira
相关产品推荐
相关产品推荐

