Python借助argv和input()制作命令行工具

Posted davieyang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python借助argv和input()制作命令行工具相关的知识,希望对你有一定的参考价值。

## 命令行执行.py文件并传递参数
代码示例如下,将参数解包
```
from sys import argv
import requests
import json
import time

script, userId, userName, enterpriseId = argv
parameter = {"userId":{userId},"userName":{userName},"enterpriseId":{enterpriseId},"flag":"sended"}
rq = requests.put("http://test.xxxxxx.com/mail/receiveSendedAndRubbishMail", data=parameter)
data = rq.json()
print(json.dumps(data, indent=4, sort_keys=True, ensure_ascii=False) )
```
实际命令行执行的时候输入命令:
```
python filename.py userId userName enterpriseId
```
## 使用input函数逐一获取参数
```
import requests
import json
import time
prompt = ‘>>> ‘

print("Please Input ‘userID‘, For Example>>>1400")
userId = input(prompt)
print("Please Input ‘userName‘, For Example>>>yangdawei_10171")
userName = input(prompt)
print("Please Input ‘enterpriseId‘, For Example>>>10171")
enterpriseId = input(prompt)
print(f"The Program is starting to syc {userId}--{enterpriseId}--{userName}‘s email and how much time is going to spend that‘s depends on how many emails in outbox, Just wait...")
before_syc_time = time.strftime(‘%Y-%m-%d %H:%M:%S‘,time.localtime(time.time()))
print("current time is" + ‘ ‘ + before_syc_time)
parameter = {"userId":{userId},"userName":{userName},"enterpriseId":{enterpriseId},"flag":"sended"}
rq = requests.put("http://admin.xxxxxxx.com/mail/receiveSendedAndRubbishMail", data=parameter)
data = rq.json()
print(json.dumps(data, indent=4, sort_keys=True, ensure_ascii=False) )
after_syc_time = time.strftime(‘%Y-%m-%d %H:%M:%S‘,time.localtime(time.time()))
print("current time is" + ‘ ‘ + after_syc_time)

input(‘Press Enter to exit program and then close this dialog....‘)
```
实际命令行执行的时候输入命令:
```
python filename.py
```
==您可以使用打包工具,例如前一篇博文中讲到pyinstaller 将其打包成.exe,并不是每个人都会在命令行执行相关内容==

以上是关于Python借助argv和input()制作命令行工具的主要内容,如果未能解决你的问题,请参考以下文章

argv的理解

[Python] sys.argv命令行参数传入

Python命令行参数sys.argv[]

Perl和python命令行参数的区别

Python处理命令行参数

Python命令行传参之sys.argv