2022年 11月 9日

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

1、说明

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

2、实例

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

print("Hello, Python")
  • 1

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

Solo-mac:Desktop solo$ python hello.py

Hello, Python
  • 1
  • 2
  • 3

知识点扩展:

在命令行中运行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
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

注释:

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(),命令行就不能传参。