首页 > 解决方案 > 使用 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

解决方案


尝试这个:

python wha.py --lat1=-13.594787 --lon1=-89.827362 --lat2=-13.966572 --lon2=-88.891292

推荐阅读