在此期间,进行接口的自动化测试,用python直接调用接口。 sign值是用一系列复杂算法加密后生成的字符串,保密级别很高,不能直接在py文件上调用~~。
pyc文件很容易被反编译。 pyd文件与一般的dll相似,很难进行反编译。
生成pyd很简单,网上有百度的山,但是调用pyd文件会发生很多错误。
请在此处粘贴生成pyd并调用pyd文件的方法作为参考:
1 .创建新的setup.py文件:
##cpython生成pyd//必须安装cpython和vs2015 (安装vs时只需安装C ) )。
#用这种方法生成的pyd文件区分系统位数,意味着例如用32位生成的文件只能用32位,64位不允许
from distutils.core import setup
fromcython.buildimportcythonize
# name可以自由写,py文件必须正确
setup(name='API_sign ',ext _ modules=cythonize (API _ sign.py ' ) )
2 .运行命令以生成pyd文件:
python setup.py build _ ext-- in place
“”'
执行操作将生成pyd文件,可以更改文件名,但不能删除与py文件相同的部分
要引用此pyd文件,必须将其放在模块下,并且不能通过模块导入和直接引用此文件
“”'
3 .调用pyd文件:
fromencryptionimportapi _ signasi
a,b=I.encrypt('12 ',' 213 ' ) ) )。
是print(a )
print(b ) api_sign.py文件是需要生成pyd的文件
生成的pyd文件必须放在模块下方进行引用,并且不能直接引用
如果参考pyd文件报告了以下错误:
1 .找不到importerror 3360 dlloadfailed :中指定的模块
2 .找不到指定的程序
.
解决过程:
1 .验证引用的路径是否正确
2 .检查引用的pyd是否引用了要安装的模块(如果还需要指定引用的pyd路径,请参见sys.path.append ('路径) )
3 .如果上述步骤仍然不行,请直接将python升级到最新版本的3.7.4
坑爹的………
我的python是3.6.X的,一直引用pyd文件,表示找不到模块。 断断续续地辛苦了好几个星期,但没能解决。
然后,在depends上看到引用dll之间的关系,直接报告错误也找不到python37.dll,所以尝试升级python。
结果升级后呼叫成功~~~无言~~无言~
转载于:https://www.cn blogs.com/drew gg/p/11459052.html