subprocess
使用Jupyter了解subprocess的基本功能
subprocess执行系统命令 == 可以在Python的代码里面执行操作系统级别的命令 允许你产生新的进程,并获得它们的返回状态 不具备跨平台性,不支持windows + mac等系统
# 以列表模式将参数命令等传递进函数内
subprocess.run(["ls"])
subprocess.run(["ls", "-l", "/opt"])
# python代码以shell的方式解析,常用
subprocess.run("ls /opt", shell=True)
# 获取环境变量
subprocess.run("echo $HOME", shell=True)
# 返回对象的相关操作
data = subprocess.run("echo $HOME", shell=True)
print(data.args) # 执行的命令
print(data.returncode) # $?, 上一条命令执行成功为 0,失败为 1
random.sort
import random
def exam():
nums = [random.randint(1,100) for i in range(2)]
nums.sort(reverse=True) # 保证列表中的大数在前,小数在后
tmp = random.choice(["+", "-"])
if tmp == "+":
data = nums[0] + nums[1]
else:
data = nums[0] - nums[1]
answer = int(input(f"{nums[0]}{tmp}{nums[1]}= ?, answer: "))
if data == answer:
print("Y")
else:
print("F")
if __name__ == "__main__":
exam()
raise
经常和try + except结果使用
def login():
pwd = input("input: ")
if len(pwd) >= 8:
print(f"{pwd}")
else:
e = ValueError("123")
raise e # 留意 raise 的用法
if __name__ == "__main__":
login()
lambda
# lambda
myadd = lambda x,y: x+y
print(myadd(1,2))
test = lambda num: True if num %2 == 1 else False
print(test(100))