2022年 11月 9日

Python接收命令行输入的两种方式

说明

  • 一种是将输入作为参数,在执行脚本的同时将参数带进程序。
  • 还有就是交互式输入,就是 c 的 scanf() 。

1. 命令行参数

一个简单的 test.py 示例。

#!/usr/bin/python
# -*- coding: UTF-8 -*-
import sys
def EchoHi(a):
    return ("Hello, " + a)
if __name__ == "__main__":
    # print('参数列表:', str(sys.argv))
    print(EchoHi(sys.argv[1]))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

执行

D:\Test>python EchoHi.py Mr.Tree
Hello, Mr.Tree
  • 1
  • 2

程序打包成可执行文件后,就可以这样用。非常适合构建小工具。

D:\Test\dist>EchoHi.exe Mr.Tree
Hello, Mr.Tree
  • 1
  • 2

2. 交互输入

示例

#!/usr/bin/python
# -*- coding: UTF-8 -*-
if __name__ == "__main__":
    name = input("Input your name: ")
    print("Hello,",name)
  • 1
  • 2
  • 3
  • 4
  • 5

结果

D:\Test>python test.py
Input your name: Mr.Tree
Hello, Mr.Tree
  • 1
  • 2
  • 3