首页 > 编程语言 >Python 脚本接收命令行参数的多种方式 All In One

Python 脚本接收命令行参数的多种方式 All In One

时间:2023-03-30 18:15:03浏览次数:48  
标签:argparse Python arg1 args sys 命令行 print GPIO 接收

Python 脚本接收命令行参数的多种方式 All In One

  1. sys

  2. argparse

  3. shell script

  4. tensorflow

...

sys

#!/usr/bin/env python3
# coding: utf8

import sys
args = sys.argv

print("args length:", len(args))
print("args type:", type(args))

print("function name:", args[0])

print("first arg =", args[1])
print("second arg =", sys.argv[2])

https://docs.python.org/3/library/sys.html

sys --- 系统相关的参数和函数¶

https://docs.python.org/zh-cn/3/library/sys.html

argparse

import argparse

parser = argparse.ArgumentParser(description='argparse testing')

parser.add_argument('--name','-n',type=str, default = "bk",required=True,help="a programmer's name")
parser.add_argument('--age','-a',type=int, default=35,help='age of the programmer')
parser.add_argument('--sex','-s',type=str, default='male')
parser.add_argument('--favorite','-f',type=str, nargs="+",required=False,help="favorite of the programmer")

args = parser.parse_args()

print(args.name)
print(args.age)
print(args.sex)
print(args.favorite)

https://docs.python.org/3/library/argparse.html

argparse --- 命令行选项、参数和子命令解析器

https://docs.python.org/zh-cn/3/library/argparse.html

shell script

#  定义参数
$ ./args.sh arg1 arg2

#!/usr/bin/env bash

# 接收参数
arg1=$1
arg2=$2

# 使用参数
python3 ./test.py $arg1 $arg2

tensorflow


demos

sys

#!/usr/bin/python3

# coding: utf8

import RPi.GPIO as GPIO
import time

import sys

arg1 = sys.argv[1]

print("arg1 =", arg1);

# 指定 BCM 模式下的GPIO 针脚编号
PIN = 12
# BCM 模式
GPIO.setmode(GPIO.BCM)

# 指定 GPIO 针脚为一个电流输出针脚
GPIO.setup(PIN, GPIO.OUT)

# 输出低电平
GPIO.output(PIN, GPIO.LOW)

# index
i = 0
# max
# n = 7

# 类型转换,str => int
n = int(arg1)

print("n =", n)

print('开始闪烁⏳')

while (i < n):
    print("i =", i)
    # 高电平,LED 点亮
    GPIO.output(PIN, GPIO.HIGH)
    # 休眠 1 秒,防止 LED 长时间点亮烧坏了
    time.sleep(1.0)
    # 低电平,LED 熄灭
    GPIO.output(PIN, GPIO.LOW)
    # 休眠 1 秒
    time.sleep(1.0)
    i = i + 1

# 输出低电平,LED 关闭
# GPIO.output(PIN, GPIO.LOW)

# 清除,释放内存
GPIO.cleanup()

print('结束闪烁 

标签:argparse,Python,arg1,args,sys,命令行,print,GPIO,接收
From: https://www.cnblogs.com/xgqfrms/p/17273858.html

相关文章

  • 跟着查老四学Python Day 3:数据结构与函数
    老猫:请您扮演一个python讲师,帮助一个没有代码经验的人自学python,以下是此前你设置的学习计划制定学习计划:将学习过程分为四个阶段,每个阶段关注不同的内容。第一周:掌握Python基础语法、数据类型、控制结构等。同时,学会如何在本地搭建Python开发环境。第二周:学习函数、模块、文件操......
  • Python计算机视觉基础实验3-显著性检测(HC&FC)
    一、实验基础图像显著性检测图像的显著性是指对于给定一副真实世界中的场景图像,人们会自动地识别出感兴趣区域,忽略掉不感兴趣的区域,即将注意力集中在图像中某些显著的部分区域。图像的注意预测,也称视觉显著性检测,指通过智能算法模拟人的视觉系统特点,预测人类的视觉凝视点(就是全神贯......
  • opencv-python 4.8. 图像金字塔
    理论通常,我们曾经使用恒定大小的图像。但在某些情况下,我们需要使用不同分辨率的(相同)图像。例如,在搜索图像中的某些内容时,如脸部,我们不确定该对象在所述图像中的大小。在这种情况下,我们需要创建一组具有不同分辨率的相同图像,并在所有图像中搜索对象。这些具有不同分辨率的图像被称......
  • [Python]异步wait和gather
    相同点:从功能上看,asyncio.wait和asyncio.gather实现的效果是相同的。不同点:使用方式不一样,wait需要传一个可迭代对象,gather传多个元素wait比gather更底层,gather可以直接得到结果,wait先得到future再得到结果wait可以通过设置timeout和return_when来终止任务gather可以......
  • 如何把一个 Python 项目发布到 PyPI 上指南教程 All In One
    如何把一个Python项目发布到PyPI上指南教程AllInOne如何发布一个Python项目到PyPI上如何发布一个Python包到PyPI上https://pypi.org/user/xgqfrms/官方文档PackagingPythonProjects打包Python项目https://packaging.python.org/en/latest/tutorials/......
  • python中类成员修饰符
    在java,c#类的成员修饰符包括,公有、私有、程序集可用的、受保护的。对于python来说,只有两个成员修饰符:公有成员,私有成员成员修饰符是来修饰谁呢?当然是修饰成员了。那么pyt......
  • [Python]async异步爬虫
    importasyncioimportaiohttpasyncdefdownload_img(session,url):file_name=url.rsplit('/')[-1]print(f"下载图片:{file_name}")awaitasyncio.......
  • 【Python】函数的可变参数 *args 和 **kwargs的使用
    可变参数*args和**kwargs*args和**kwargs主要用于定义函数的可变参数,*args和**kwargs组合起来可以传入任意的参数。(注意:参数*args必须在**kwargs之前定义)*arg......
  • python——list求交集、并集、差集
    https://blog.csdn.net/qq_41985134/article/details/122956104   ......
  • python学习(二)
    1Python中的标识符和保留字有的单词赋予了特定的意义,在给对象起名字时不能使用例如代码:importkeywordprint(keyword.kwlist)结果:['False','None','True','and......