关于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,梁士杰写的加密文件

  1. 查了下pyd,是加密后的py文件。
  2. 发现Python3.9用不了,要用3.7,估计是梁士杰是用3.7.4生成的pyd文件。
  3. 找到了怎么使用的方法
  4. 在jupyter使用 import myAes ,然后 print(dir(myAes)),可以列出里面的方法名,再用 print(help(方法名)),可以列出方法名的使用方法。
  5. 但是在pycharm里面,我创建Python3.7.6的虚环境,这个Crypto就是报没有这个model。
  6. 弄了半天,认为这个Crypto(直接安装成功,但是依然报错,里面有个小写的crypto)是pycrypto,因为在jupyter里面有这个 2.6.1版本。
  7. 直接安装pycrypto报错。
  8. 在网上找了下,有些地方说是缺少c++库,但是我认为不是,因为jupyter里面能用。
  9. 有找了个地方,说pycrypto,pycryptodome和crypto是一个东西。预示安装pycrytodome。
  10. 然后再用 pip show pycrytodome ,找到对应的路径,把小写的c改成大写的,如下
  11. D:\pycharm\studyDjango\Mail\env\Lib\site-packages\Crypto\Cipher
  12. from _Mail.mysite.mail.myAes _import *不报错了

image.png
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

  1. django.db.backends.sqlite3
  2. django.db.backends.mysql
  3. django.db.backends.oracle
  4. django.db.backends.postgresql
  5. django.db.backends.postgresql_psycopg2

优雅地使用
1.安装 使用 pip 安装 python 第三方库是最方便的。
pip install djongo
2.修改配置 在项目的 setting.py 中,修改数据库引擎、数据库名、主机号等信息。Djongo 关于数据库完整的配置:

setting.py

  1. # setting.py
  2. DATABASES = {
  3. 'default': {
  4. 'ENGINE': 'djongo',
  5. 'ENFORCE_SCHEMA': True,
  6. 'LOGGING': {
  7. 'version': 1,
  8. 'loggers': {
  9. 'djongo': {
  10. 'level': 'DEBUG',
  11. 'propogate': False,
  12. }
  13. },
  14. },
  15. 'NAME': 'your-db-name',
  16. 'CLIENT': {
  17. 'host': 'host-name or ip address',
  18. 'port': port_number,
  19. 'username': 'db-username',
  20. 'password': 'password',
  21. 'authSource': 'db-name',
  22. 'authMechanism': 'SCRAM-SHA-1'
  23. }
  24. }
  25. }


如果是本地安装 MongoDB 数据的话,可以不用配置这么多参数。

  1. # setting.py
  2. DATABASES = {
  3. 'default': {
  4. 'ENGINE': 'djongo',
  5. 'ENFORCE_SCHEMA': True,
  6. 'NAME': '数据库名称',
  7. 'CLIENT': {
  8. 'host': '127.0.0.1',
  9. }
  10. }
  11. }

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

MongoDB本地安装与启用(windows 7/10)

http://cnblogs.com/jayworld/p/6000313.html