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,并不是每个人都会在命令行执行相关内容==

猜你喜欢

转载自www.cnblogs.com/davieyang/p/11681959.html