分类 python 下的文章

import argparse

parser = argparse.ArgumentParser(description='命令行说明信息')
parser.add_argument('参数名字1', type=int, help='参数说明文字')
parser.add_argument('参数名字2', type=string, help='参数说明文字')
parser.add_argument('--参数名字3', type=int, default=666, help='参数说明文字')
parser.add_argument('--参数名字4', '-参数名字4', type=int, help='参数说明文字')
args = parser.parse_args()

print(args.参数名字1)
print(args.参数名字2)

说明

-打头的都是可选参数,可选参数才可以设置默认值

import sqlite3

db = sqlite3.connect(':memory:') # :memory: 表示数据保存在内存中

db.execute("CREATE TABLE data (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, value INTEGER)");

db.execute("INSERT INTO data (id, name, value) VALUES (?, ?, ?)", (1, '猫了个咪', 666));

cursor = db.execute("SELECT * FROM data");
print(cursor.fetchone())
cursor.execute("SELECT * FROM data")
print(cursor.fetchone())
cursor = db.cursor();
print(cursor.fetchone())
cursor.execute("SELECT * FROM data")
print(cursor.fetchone())

db.commit() # 事务提交 (启用事务才需要使用这个命令)

child = subprocess.Popen(args, shell=True, stdin=subprocess.PIPE, stderr=subprocess.PIPE)
child.wait() # 等待进程结束
child.stderr.read() # 获得 stderr 的输出内容

args 可以传入 字符串 或者 字符串数组
shell False 直接执行 args 数组第一个元素指定的可执行文件,True 先执行 shell 进程,然后把 args 字符串传递给它执行 (linux 类似 ['/bin/sh', '-c'] windows ['cmd.exe', '/c'])

subprocess 常用的方法:

  • poll 检查进程是否结束,并设置返回值,None表示还没结束
  • wait 等待进程结束,并设置返回值
  • communicate // TODO
  • terminate 终止进程
  • kill 杀死进程(发送 SIGKILL 信号)

echo '{"name": "hello", "age": 18}' | python3 -m json.tool
echo '{"name": "hello", "age": 18}' | python2 -m json.tool

cat file.json | python3 -m json.tool
cat file.json | python2 -m json.tool

{
    "age": 18,
    "name": "hello"
}

from bottle import run, request, route

@route("/upload", method="POST")
def upload():
    file = request.files.get("file")
    file.save(".", overwrite=True)

@route("/")
def index():
    return """<html>
<head>
    <title>upload</title>
</head>
<body>
    <form action="upload" method="POST" enctype="multipart/form-data">
        <input type="file" name="file" />
        <input type="submit" value="upload" />
    </form>
</body>
</html>"""


run()