python-3.x - 在命令行中运行 python3 脚本
问题描述
我在 python 中编写了一个函数,它采用2 lists
(具有相同长度)并返回另一个包含 2 个元素的列表。该功能完美运行,但我试图在command line
. 为此,我想argparse
在 python 中使用模块。我使用以下命令在 python3 中编写了以下脚本:
python3 text.py a b results
该脚本应采用 3 个参数 2 个列表作为输入,一个列表作为输出。这是脚本:
def fun(a, b):
a_is_greater = 0
b_is_greater = 0
for element_a, element_b in zip(a, b):
if element_a > element_b:
a_is_greater += 1
elif element_a < element_b:
b_is_greater += 1
return [a_is_greater, b_is_greater]
def main():
import argparse
ap = argparse.ArgumentParser(description="")
ap.add_argument('--list-type', type=list)
ap.add_argument('--list-type', type=list)
ap.add_argument('-o', '--outlist', required=True)
args = ap.parse_args()
results = fun(a, b)
return results
if __name__ == "__main__":
from signal import signal, SIGPIPE, SIG_DFL
signal(SIGPIPE, SIG_DFL)
try:
main()
except IOError as e:
if e.errno != 32:
raise
except KeyboardInterrupt as e:
pass
你知道怎么解决吗?我已经尝试了这两个列表:a = [4, 5, 2]
和b = [3, 5, 4]
. 脚本中的 fun 函数非常适合这两个输入。
解决方案
这是否更好?
python3 text.py --list1 [4,5,2] --list2 [3,5,4] -o result # [1, 1]
def main():
import argparse
ap = argparse.ArgumentParser(description="")
ap.add_argument('--list1', type=list)
ap.add_argument('--list2', type=list)
ap.add_argument('-o', '--outlist', required=True)
args = ap.parse_args()
results = fun(args.list1, args.list2)
print(results)
return results
代码 :
def fun(a, b):
a_is_greater = 0
b_is_greater = 0
for element_a, element_b in zip(a, b):
if element_a > element_b:
a_is_greater += 1
elif element_a < element_b:
b_is_greater += 1
return [a_is_greater, b_is_greater]
def main():
import argparse
ap = argparse.ArgumentParser(description="")
ap.add_argument('--list1', type=list)
ap.add_argument('--list2', type=list)
ap.add_argument('-o', '--outlist', required=True)
args = ap.parse_args()
results = fun(args.list1, args.list2)
print(results)
return results
if __name__ == "__main__":
from signal import signal, SIGPIPE, SIG_DFL
signal(SIGPIPE, SIG_DFL)
try:
main()
except IOError as e:
if e.errno != 32:
raise
except KeyboardInterrupt as e:
pass
推荐阅读
- excel - 使用 VBA 从多个关闭的文件创建一个主文件。所有关闭的文件都保存在同一个文件夹下,格式相同
- javascript - 谷歌地图以 HTML 格式工作,但不会显示在托管网站上
- mysql - 优化查询以使用两个表之间的连接并将行转换为列
- vim - 从网络上的原始文件复制/粘贴到 .vim
- java - Union+Find算法的应用(不相交集)
- python - 将请求 403 错误 django restframework
- acumatica - 在图形扩展中添加与新表相关的 PXSearchable 的最低要求是什么?
- python - groupby后如何获取组大小的统计信息?
- angular - 使用 canActivate 或 canChildActivate 会引发错误?
- javascript - 未定义:调用 XSLTProcessor.prototype.importStylesheet 时出现未定义错误