ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python命令行运行文件的实例方法

2021-03-25 16:01:25  阅读:155  来源: 互联网

标签:test1 test2 Python args 外部 实例 参数 命令行 type


1、说明

写了python文件,想通过命令执行它,进入目录,并在命令执行中输入python文件名称。

2、实例

例如,桌子上有文件hello.py,内容是印刷一句话

print("Hello, Python")

要运行它,首先进入Desktop目录,然后在命令行中输入pythonhello.py即可运行:

Solo-mac:Desktop solo$ python hello.py

Hello, Python

知识点扩展:

在命令行中运行python代码是很常见的,下面介绍如何定义命令后面跟的参数。

常规用法

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
import argparse   

parser = argparse.ArgumentParser("Description.") # ————1————

parser.add_argument('--test1', type=str, default="1", help="Test1 help.") # ————2————

parser.add_argument('--test2', type=float, default=2.1, help="Test2 help.") # ————2————

args = parser.parse_args() # ————3————

print(args)

test1, test2 = args.test1, args.test2 # ————4———— 

print(type(test1), test1, test1 + " add test") 

print(type(test2), test2, test2 + 100)

注释:

1、获取外部参数对象实例。可以传入字符串来描述总体的外部参数。

2、定义外部参数,可以多次调用来定义多个外部参数。函数的第一个参数是外部参数的名称,建议以两个减号开头,中间不要使用数字字母下划线以外的符号,否则容易出错。type是你希望外部参数传入后转换的类型,比如–test1定义为str,即使命令行传参不添加引号,函数也将它转换为字符串(当然不加引号传字符串就不能用空格了)。而–test2是float,即使命令行传参带了引号,只要能转换为数字,函数都能转换为float类型。default是外部参数的默认值。如果命令行不对外部参数赋值而使用默认值,函数不会对你定义的默认值进行type上的转换,所以default最好直接定义为type指定的类型(比如–test1的default定义为"1"而不是1)。help传入对当前外部参数的描述,命令行中使用–help输出的就是这个。

3、分析获取的外部参数。传出的是一个命名空间,类似于字典,但使用属性的方式而不是key索引来获取命名对应的外部参数值。

4、以获取属性的方式获取外部参数。

需要注意的是,外部参数的定义必须写在获取外部参数之前。也就是说,parser.add_argument()要写在parser.parse_args()之前,否则外部参数无法被命令行捕获。另外,如果代码中没有parser.parse_args(),命令行就不能传参。

标签:test1,test2,Python,args,外部,实例,参数,命令行,type
来源: https://blog.csdn.net/qdPython/article/details/115210443

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有