Python加速运算——"-O优化"和Cython
1. 以 release
模式运行Python
python -O process_file.py
可以在代码中加入以下命令,判断是否为release模式:
if __debug__:
print("Debug mode")
else:
print("Release mode")
2.使用Cython
下载Cython:
pip install cython
编写pyx文件,即要编译的Python代码:
为了后面方便调用,你可以把需要运行的函数放到一个函数中,例如我放到了main()函数中
# process_file.pyx
# python -O process_file.py
import pandas as pd
from tqdm import tqdm
def clean_str(input:str)->str:
# 辅助函数
......
return output
def main():
# 主函数
......
** = clean_str(*)
......
编写setup.py文件,使得 Cython 可以将我们的 Python 代码编译成 C 代码:
# setup.py
from setuptools import setup
from Cython.Build import cythonize
setup(
ext_modules = cythonize('process_file.pyx')
)
接着,运行命令:
python setup.py build_ext --inplace
这样会生成build文件夹,.cpp文件,.pyd文件,其中,build文件夹
和 .pyd文件
是对你有用的;
你可以在Python代码中调用编译好的cython文件:
from process_file import main
main()