----------------python操作mysql三种方式:
https://www.jianshu.com/p/5dfe55c6cdb4
详细例子:https://www.cnblogs.com/mryrs/p/6951008.html
1、pymysql
2、mysql-connector-python
3、sqlalchemy
----------------------------------------------click模块 贯穿cuizong项目
学习链接https://www.jb51.net/article/174005.htm
例子1 :python
-
m http.server 8000
执行后,在本机打开“ http://localhost:8000 ”,或者在局域网内的其它机器上打开“ http://本机ip:8000 ”,就能访问到执行目录下的内容,例如下图就是我本机的内容:
-----------------------------------------------------setup.py
setup.py可以将我们写的Python程序打包,发布到官网PyPi (Python Package Index):https://blog.csdn.net/dQCFKyQDXYm3F8rB0/article/details/113705998
共享您的Python软件包具体教程:https://blog.csdn.net/cunjie3951/article/details/106921409
setuptools是常用的打包工具。https://www.cnblogs.com/geeklove01/p/8280939.html
一个简单的setup.py文件如下:
from setuptools import setup, find_packages
setup(
name = "my_demo",
version = "0.1",
packages = find_packages()
)
其中,name是包的名字,version是版本。
给packages指定find_packages(),意为包括在本目录下的所有Python包。
什么是Python包呢?在Python 3.2及更早版本中,只有包含__init__.py文件才能识别为Python包。
那要是不想包含某些包呢?给find_packages指定exclude参数即可。
那如果我们想将数据文件也添加进来呢?有以下方法(以下:package_data:数据文件,即一些txt或者dat文件 ):
方法一:
在使用版本控制的情况下(先包含全部数据文件,再指定去除):
packages = find_packages('src'), # 包含所有src目录下的package
package_dir = {'':'src'},
include_package_data = True, # 包含所有版本控制的内容
# 排除所有 README.txt
exclude_package_data = { '': ['README.txt'] }
方法二(直接指定包含哪些数据文件):
packages = find_packages('src'), # 包含所有src中的包
package_dir = {'':'src'}, # 告诉distutils包都在src下
package_data = {
# 如果包中含有.txt文件,则包含它
'': ['*.txt'],
# 包含demo包data文件夹中的 *.dat文件
'demo': ['data/*.dat']
}
其他的一些常用参数:
zip_safe,指定boolean选项,控制项目能否直接通过压缩文件安全安装。
install_requires:安装依赖
entry_points: 创建控制台脚本 详情
等等
可以使用命令:
python setup.py bdist_egg
来创建egg文件,egg文件可以跨平台,便于使用pip安装。
也可以使用命令:
python setup.py sdist
来创建源发布版本,此后可通过pip install来安装生成的tar.gz包
其他一些setup.py文件的参数选项:
python setup.py build #编译
python setup.py install #安装
python setup.py sdist #制作分发包
python setup.py bdist_wininst #制作windows下的分发包
python setup.py bdist_rpm
参考:
https://setuptools.readthedocs.io/en/latest/setuptools.html
--------------------------------------进程线程协程
最近在做两个事情
1 linux定时脚本编写,系统没有crontab模块了(不知道谁给误删了估计),就想用python来实现定时,后来参考的下面这个文章写的:先附上我的第一段代码吧,实现了状态10秒钟之后还原 ManInfo里面一个用户的状态还原:
def green(id):
mans = ManInfo.objects.filter(id=id)
for m1 in mans:
m1.isDelete = False
print(m1.isDelete)
m1.save()
def demo1(request,id):
mans = ManInfo.objects.filter(id=id)
for m1 in mans:
m1.isDelete = True
print(m1.isDelete)
m1.save()
print('------------------')
print(id)
t = Timer(10.0, green,(id))
t.daemon = True
t.start()
print('-----end-----')
return render(request,'index1.html')
参考文章1:
https://www.jb51.net/article/162407.htm
参考文章2 :推荐阅读 python定时 四种定时模块 ,阻塞和非阻塞讲的很清楚:
https://www.jianshu.com/p/b77d934cc252
#参考文章3 关于RuntimeError: main thread is not in main loop 报错参考
https://www.maixj.net/ict/runtimeerror-main-thread-is-not-in-main-loop-21037
2 asyncio详解