关于pyd文件
有的时候,为了对python文件进行加密,会把python模块编译成.pyd文件,供其他人调用。拿到一个.pyd文件,在没有文档说明的情况下,可以试试查看模块内的一些函数和类的用法。首先 import XXX(pyd的文件名)
然后直接
print(dir(XXX))
print(help(xxx))
其中dir( ) 列出了属性和方法
而hlep()直接列出了其中的函数以及参数,并且是源码的函数名和类型,非常直观。
————————————————
版权声明:本文为CSDN博主「hongge_smile」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/hongge_smile/article/details/107077560
为了搞定myAes.pyd,梁士杰写的加密文件
- 查了下pyd,是加密后的py文件。
- 发现Python3.9用不了,要用3.7,估计是梁士杰是用3.7.4生成的pyd文件。
- 找到了怎么使用的方法
- 在jupyter使用 import myAes ,然后 print(dir(myAes)),可以列出里面的方法名,再用 print(help(方法名)),可以列出方法名的使用方法。
- 但是在pycharm里面,我创建Python3.7.6的虚环境,这个Crypto就是报没有这个model。
- 弄了半天,认为这个Crypto(直接安装成功,但是依然报错,里面有个小写的crypto)是pycrypto,因为在jupyter里面有这个 2.6.1版本。
- 直接安装pycrypto报错。
- 在网上找了下,有些地方说是缺少c++库,但是我认为不是,因为jupyter里面能用。
- 有找了个地方,说pycrypto,pycryptodome和crypto是一个东西。预示安装pycrytodome。
- 然后再用 pip show pycrytodome ,找到对应的路径,把小写的c改成大写的,如下
- D:\pycharm\studyDjango\Mail\env\Lib\site-packages\Crypto\Cipher
- from _Mail.mysite.mail.myAes _import *不报错了
pycrypto,pycrytodome和crypto是一个东西,crypto在python上面的名字是pycrypto它是一个第三方库,但是已经停止更新三年了,所以不建议安装这个库;
windows下python3.6安装也不会成功!
这个时候 pycryptodom e就来了,它是pycrypto的延伸版本,用法和pycrypto 是一模一样的;
所以,我现在告诉一种真的解决方法:直接安装:
pip install pycryptodome
但是,在使用的时候导包是有问题的,这个时候只要修改一个文件夹的名称就可以完美解决这个问题
pip show pycryptodome
找到这个路径,下面有一个文件夹叫做 crypto ,将c改成C, 对就是改成大写就ok了!!!
作者:5onghua 链接:https://www.jianshu.com/p/a01bdffb8210 来源:简书
(env) D:\pycharm\studyDjango\Mail>pip show Crypto
Name: crypto
Version: 1.4.1
Summary: Simple symmetric GPG file encryption and decryption
(env) D:\pycharm\studyDjango\Mail>pip show pycryptodome
Name: pycryptodome
Version: 3.10.1
说说 Django 如何优雅地对接 Mongodb
https://zhuanlan.zhihu.com/p/124189318
django.db.backends.sqlite3
django.db.backends.mysql
django.db.backends.oracle
django.db.backends.postgresql
django.db.backends.postgresql_psycopg2
优雅地使用
1.安装 使用 pip 安装 python 第三方库是最方便的。
pip install djongo
2.修改配置 在项目的 setting.py 中,修改数据库引擎、数据库名、主机号等信息。Djongo 关于数据库完整的配置:
setting.py
# setting.py
DATABASES = {
'default': {
'ENGINE': 'djongo',
'ENFORCE_SCHEMA': True,
'LOGGING': {
'version': 1,
'loggers': {
'djongo': {
'level': 'DEBUG',
'propogate': False,
}
},
},
'NAME': 'your-db-name',
'CLIENT': {
'host': 'host-name or ip address',
'port': port_number,
'username': 'db-username',
'password': 'password',
'authSource': 'db-name',
'authMechanism': 'SCRAM-SHA-1'
}
}
}
如果是本地安装 MongoDB 数据的话,可以不用配置这么多参数。
# setting.py
DATABASES = {
'default': {
'ENGINE': 'djongo',
'ENFORCE_SCHEMA': True,
'NAME': '数据库名称',
'CLIENT': {
'host': '127.0.0.1',
}
}
}
MongoDB 数据库默认访问端口是 27017。如果你修改访问端口,需要显示指定端口号。用户名和密码也不需要填写,MongoDB 默认没有开启用户验证。如果你想开启用户校验或者线上数据库,需要在数据库安装目录下,找到 mongod.cfg 文件,然后开启登录校验。
mongod.cfg 文件中找到以下字段
security:
authorization: enabled
配置好文件之后需要重启数据库,后面链接数据库就需要账号和密码了。
[
](http://blog.csdn.net/sinat_38682860/article/details/87020207)
djongo:Django和MongoDB连接器
另外一篇文章:http://blog.csdn.net/sinat_38682860/article/details/87020207