搭建 HTTP 服务器

http

python -m http.server <port> --bind <ip> -d <path>

搭建 FTP 服务器

ftp

# pip install pyftpdlib
# -w: 写权限(默认为只读)
# -i: 指定IP地址(默认为本机的IP地址)
# -p: 指定端口(默认为2121)
python -m pyftpdlib -w -p [PORT] -d [PATH] -u [USER] -P [PASSWORD]

添加 PATH 变量

import sys
sys.path.append("<your path>")

获取当前工作目录路径

import os
os.getcwd()

判断文件/文件夹是否存在

import os
os.path.exists(<filename|dir>)

只判断文件是否存在(如果文件夹和文件重名可能会误判)

import os
os.path.isfile(<filename>)

性能测试

时间测试

简单粗暴,用 cProfile 模块:

python3 -m cProfile someprogram.py

也可以在环境中导入 cProfile 模块:

profiler = cProfile.Profile()
profiler.enable()
# do something
profiler.disable()
profiler.dump_stats("xxx.stats")

然后 dump 出来的文件可以用 snakeviz 查看:

snakeviz -s xxx.stats

内存测试

python 提供了 tracemalloc 模块,可以帮助测试:

def get_pymem_info():
    snapshot = tracemalloc.take_snapshot()
    top_stats = snapshot.statistics('lineno')
    logger.info("[ Top 20 ]")
    for stat in top_stats[:20]:
        logger.info(stat)
tracemalloc.start()
# do sth 
if needed:
    get_pymem_info()