python - 使用 argparse 在控制台中运行脚本时出错
问题描述
你好这个程序就在这个页面上但是代码是但是在ubuntun控制台中执行脚本时它给了我以下问题
from math import radians,cos,sin,asin,sqrt,atan2
import argparse
parser=argparse.ArgumentParser()
parser.add_argument('--lat1',type=float,metavar="",required=True, help="enter the first latitude")
parser.add_argument('--lon1',type=float,metavar="",required=True,help="enter the first length")
parser.add_argument('--lat2',type=float,metavar="",required=True,help="enter the second latitude")
parser.add_argument('--lon2',type=float,metavar="",required=True,help="enter the second length")
args=parser.parse_args()
def python_distance(lat1,lon1,lat2,lon2):
lat1=abs(radians(lat1))
lon1=abs(radians(lon1))
lat2=abs(radians(lat2))
lon2=abs(radians(lon2))
radio=6371.0
delta_lon=lon2-lon1
delta_lat=lat2-lat1
h=sin(delta_lat/2)**2+cos(lat1)*cos(lat2)*sin(delta_lon/2)**2
t=2*atan2(sqrt(h),sqrt(1-h))
distancia=radio*t
return distancia
if __name__=="_main_":
print python_distance(args.lat1,args.lon1,args.lat2,args.lon2)
如果我尝试该功能,它会给我准确的距离,但是在执行脚本时它会告诉我以下内容
yeferson@yeff:~/Escritorio$ python wha.py -13.594787 -89.827362 -13.966572 -88.891292
usage: wha.py [-h] --lat1 --lon1 --lat2 --lon2
wha.py: error: argument --lat1 is required
在争论中有些事情让我失望了,我可以在这个问题上等待你的帮助
解决方案
尝试这个:
python wha.py --lat1=-13.594787 --lon1=-89.827362 --lat2=-13.966572 --lon2=-88.891292
推荐阅读
- javascript - 尝试绘制四分之一圆时不需要的半圆
- javascript - 基于使用javascript的复选框出现Textarea条件
- autodesk-forge - DiffTool 扩展如何在 Forge Viewer 中工作?
- reactjs - 图片网址未加载
- c# - 如何根据 id 加载多个文档?
- jquery - 过滤器为活动数据表jQuery时缺少“显示条目”
- asp.net-core - .Net Web 应用程序(Web 表单)安全性
- c# - SolverFoundation InteriorPointSolver 为非常简单的 LP 问题提供了错误的解决方案
- azure - 在 Azure DevOps 管道的 PowerShell 中使用参数
- android - Android 版 Chat Recyclerview 中的媒体播放器问题