python nonebot模块发送文件?

python的模块,pyinstall会自动编译为字节码一起打包。

至于另外的等资源文件,需要自行书写打包配置文件spec。

先用pyinstaller 的 --onefile 选项自动生成一个spec文件,

然后修改这个spec文件案,如要加入图片等附属文件,

要加入到datas中,格式如下:

datas = [("软件包内的相对路径/file.name","/实际路径/file.name","DATA")]

文件列表也可以用Tree生成。Tree("/实际路径/file.name”, prefix = “软件包内的相对路径”)

下面是一个spec文件的例子

a = Analysis(["/tmp/start.py"],

pathex=["/tmp"],

hiddenimports=[],

hookspath=None,

runtime_hooks=None

dict_tree = Tree("/tmp/pic", prefix = "pic")

a.datas = dict_tree

pyz = PYZ(a.pure)

exe = EXE(pyz,

a.scripts,

a.binaries,

a.zipfiles,

a.datas,

name="test",

debug=False,

strip=None,

console=False )

求暗黑followbot 及详细使用方法 443177199@qq.com

follow bot 就是战网己带自己的工具软件

1、双开练KEY候,先开一个D2窗口,称为“D2 S”,建好BB进入游戏,这个BB是准备做为follower的,也就是slave了,再开一个D2窗口,我们称为“D2 M”,建好BB也进入游戏,这个BB是做为MASTER的,也就是做保姆的;

2、然后我们再到d2hackit的文件夹里,运行d2hackit,由于你这个时候双开,d2hackit的进程会有个提示框问你D2 S的进程是否运行d2hackit,你应该点“是”,然后又问你D2 M的进程是否运行d2hackit,这个就要点“否”了(两个提示框的顺序可能会不一样,要看清楚了);

3、切换到“D2 S”的窗口,回车,输入“.follower new”,BB站到ACT1中间那个火坑的7点钟位置;

4、MASTER出城,开TP回城,于是slaver就跟上MASTER了;

5、常用命令就几个“TP”、“wait”、“GO”、“.follower new”

TP---------------------MASTER的命令,让SLAVER进入最靠进的TP,回城比较好用,出城的时候还是手动好,城里的TP多的时候比较容易出错;

wait-------------------MASTER的命令,让SLAVER停止行动;

go----------------------MASTER的命令,让SLAVER继续follower,和wait相对应;

.follower new------slaver的命令,让BB重新followe master。

注意点:在过ACT的时候,slaver都会重新followe下一个出现的BB,所以有时过了ACT后,slaver要运行一下“.follower new”,然后在TP旁边等你的MASTER出城再回城,这样就可以followe到你自己的MASTER了。

集成bind的followbot就是不用自己打命令,只要按一下键盘就自动打命令了

Master_bot_for1.10

点loader到大号

按键"W":wait 停止跟随

按键"G":go 继续跟随

按键"P":npc 和npc说话,主要先去和npc说话

按键"T":tp 进入最后1个释放的回城

Follow_bot_for1.10

点Loader到小号

按键“N”:.follower new 更换新的master

可能很多新人不会用,我写一下

1.要用d2loader才能多开,这是废话了,我把d2loader.exe改成Diablo II.exe,你也可以不改

2.把Diablo II.exe发送快捷方式到桌面,改属性为(注意空格)

"K:\DiabloII\Diablo II.exe" -w -res800 -nonotify -skiptobnet -direct -title 1 -pdir Map

其中 -title 1是运行diablo窗口后窗口标题为“1”,这是做master的,而且重命名为“Diablo II 1”

3.把快捷方式“Diablo II 1”复制一份,重命名为“Diablo II 2”,属性改为

"K:\DiabloII\Diablo II.exe" -w -lq -res800 -nonotify -skiptobnet -direct -title 2

也可以再加个 -ns,就是关声音,但是过关的时候diablo窗口会关闭

4.如此制作“Diablo II 3” “Diablo II 4” “Diablo II 5” “Diablo II 6” “Diablo II 7” “Diablo II 8”快捷方式

5.把Master_bot里面的Loader.exe发送快捷方式到桌面,重命名为Master

6.把Follow_ bot里面的Loader.exe发送快捷方式到桌面,重命名为Follow

7.最好每个人物用不同的帐号

8.启动Diablo II 1窗口,点快捷方式图标Master,可能没什么反应,其实已load成功了

1建游戏进去

9.分别启动2-8窗口,人物在聊天频道,先不要进游戏

10.点快捷方式图标Follow分别load到8-2,即当问“load 8?”时,点“是”。。。,当问“unload 1?”时,点“否”

11.然后2进游戏,1就把2带到安卡拉那里,按“w”;3进游戏,1过来接应,又把3带到安卡拉那里,按“w”;。。。。。如此到8,然后1按“G”,邀请各个bb组队,bb会自动加入

12.开始你的1带7的体验吧,至于用什么人物,你就自由发挥吧

python中qqbot怎么获取登录信息

在命令行输入: **qqbot** ,或直接运行 [qqbot.py][code] : **python qqbot.py** 。启动过程中会自动弹出二维码图片(Linux下需安装有 gvfs

python写的测试框架怎么使用

>pip install -U pytest   # 通过pip安装

>py.test --version        # 查看pytest版本

This is pytest version 2.7.2, imported from C:\Python27\lib\site-packages\pytest.pyc

简单的测试

让我们创一个文件个简单的功能进行测试

#coding=utf-8# 功能def func(x):    return x 1# 测试用例def test_answer():    assert func(3) == 5

切换到测试文件所在的目录,通过“py.test”命令运行测试。

>py.test

执行结果如下图:

===================================================================

在一个测试类中创建多个测试用例:

#coding=utf-8class TestClass:    def test_one(self):

x = "this"

assert "h" in x    def test_two(self):

x = "hello"

assert x == "hi"

运行测试:

>py.test -q test_class.py

-q  为quiet。表示在安静的模式输出报告诉。加不加这个参有什么区别呢? 读者可以对比一下两次输出的日志。其实,就是少了一些pytest的版本信息。

===================================================================

从Python代码中调用pytest

pytest中同样提供了main() 来函数来执行测试用例。

pytest/

├── test_sample.py

├── test_class.py

└── test_main.py

此目录为我们练习的目录,打开test_mian.py

import pytestdef test_main():    assert 5 != 5if __name__ == '__main__':

pytest.main()

直接运行该程序,sublime 中按Ctrl B 运行。结果如下:

============================= test session starts =============================platform win32 -- Python 2.7.10 -- py-1.4.30 -- pytest-2.7.2rootdir: D:\pyse\pytest, inifile:

collected 4 itemstest_class.py .F

test_main.py F

test_sample.py F================================== FAILURES ===================================_____________________________ TestClass.test_two ______________________________self = def test_two(self):

x = "hello">           assert x == "hi"E           assert 'hello' == 'hi'E             - hello

E             hi

test_class.py:11: AssertionError__________________________________ test_main __________________________________

def test_main():>       assert 5 != 5E    assert 5 != 5test_main.py:4: AssertionError_________________________________ test_answer _________________________________

def test_answer():>       assert func(3) == 5E    assert 4 == 5E      where 4 = func(3)

test_sample.py:9: AssertionError===================== 3 failed, 1 passed in 0.03 seconds ======================[Finished in 0.3s]

从执行结果看到,main() 默认执行了当前文件所在的目录下的所有测试文件。

那么,如果我们只想运行某个测试文件呢?可以向main()中添加参数,就像在cmd命令提示符下面一样:

#coding=utf-8import pytestdef test_main():    assert 5 != 5if __name__ == '__main__':

pytest.main("-q test_main.py")   # 指定测试文件

运行结果:

F================================== FAILURES ===================================__________________________________ test_main __________________________________

def test_main():>       assert 5 != 5E    assert 5 != 5test_main.py:4: AssertionError1 failed in 0.01 seconds

那如果我想运行某个目录下的测试用例呢?指定测试目录即可。

#coding=utf-8import pytestdef test_main():    assert 5 != 5if __name__ == '__main__':

pytest.main("d:/pyse/pytest/")  # 指定测试目录

创建运行测试脚本

有时候我们的测试用例文件分散在不同的层级目录下,通过命令行的方式运行测试显示不太方便,如何编写一个运行所有测试用例的脚本呢? pytest可以自动帮我们生成这样的脚本。

>py.test --genscript=runtests.py

打开生成的测runtests.py文件:

sources = """eNrsve2S3EiSIDa3 jhtnvZ293Ra6SSdCZMUF0AzK1nk9OzM1nV2L4dNznKnm6TxY6dX1XVJVAJV

halMIAkgWVU3O2d6Ar3CPYQeQn/1QjKTf8UnAplZ7O6ZPTNxpiszgQiPCA8PD3cPD/f/449 9/5H

yds/W99M58v6fDqfl1XZzefv/9nbvxuPxxE8Oy r8 jRy2dREq bOt8siqaNo6zKo3hRV 1mRb/h

a1UsuiKPPpRZdFncXNVN3qYRABmN3v/R23 OLbRd/v6/ePOf/tmPflSu1nXTRe1NOxotllnbRq 7

PKlPfwMw0qNR

……"""import sysimport base64import zlibclass DictImporter(object):    def __init__(self, sources):

self.sources = sources    def find_module(self, fullname, path=None):        if fullname == "argparse" and sys.version_info >= (2,7):            # we were generated with = (3, 0):        exec("def do_exec(co, loc): exec(co, loc)\n")        import pickle

sources = sources.encode("ascii") # ensure bytes

sources = pickle.loads(zlib.decompress(base64.decodebytes(sources)))    else:        import cPickle as pickle        exec("def do_exec(co, loc): exec co in loc\n")

sources = pickle.loads(zlib.decompress(base64.decodestring(sources)))

importer = DictImporter(sources)

sys.meta_path.insert(0, importer)

entry = "import pytest; raise SystemExit(pytest.cmdline.main())"

do_exec(entry, locals()) # noqa

好吧!其实, 我也不理解这段代码的含义,但是执行它的可运行测试用例了。

pytest/

├── test_case/

│   ├── test_sample.py

│   ├── test_class.py

│   ├── __init__.py

│   └── test_case2/

│          ├── test_main.py

│          ├── test_time.py

│          └── __init__.py

└── runtests.py

执行runtest.py文件。

>python runtest.py

当然,你也可以打开runtests.py 文件运行它。

===================================================================

* 最后,pytest是如果识别测试用例的呢?它默认使用检查以test_ *.py 或*_test.py命名的文件名,在文件内部查找以test_打头的方法或函数,并执行它们。

pytest还有许多需要讨论的地方,做为这个系列的第一节,先介绍到这里。

版权声明:本站所有文章皆为原创,欢迎转载或转发,请保留网站地址和作者信息。

qpython3h教程_python写的测试框架怎么使用:python qqbot使用教程相关推荐

  1. pytest测试框架_聊聊 Python 的单元测试框架(三):最火的 pytest

    本文首发于 HelloGitHub 公众号,并发表于 Prodesire 博客. 一.介绍 本篇文章是<聊聊 Python 的单元测试框架>的第三篇,前两篇分别介绍了标准库 unittes ...

  2. python 微信机器人教程_Python创建微信机器人(附赠Python视频教程)

    微信,一个日活10亿的超级app,不仅在国内社交独领风骚,在国外社交也同样占有一席之地.今天我们要讲的便是如何用Python来做一个微信聊天机器人,突然想起鲁迅先生曾经说过的一句话: 因为是微信机器人 ...

  3. python随机点名程序 图形化_python写一个随机点名软件,python随机点名,最近有个随机点名软件...

    python写一个随机点名软件,python随机点名,最近有个随机点名软件 最近有个随机点名软件的需求,故写了一个,上代码:github地址# -*- coding: utf-8 -*-# @Time ...

  4. python下载安装教程-一招解决:各种版本的Python下载安装教程

    原标题:一招解决:各种版本的Python下载安装教程 python从17年开始大火,自然想学python的同学就多了,小编整理了这篇文章,从python的功能介绍.各系统最新版本python下载.py ...

  5. python换脸教程_教你如何用200行Python代码“换脸”教程

    原标题:教你如何用200行Python代码"换脸"教程 本文将介绍如何编写一个只有200行的Python脚本,为两张肖像照上人物的"换脸". 这个过程可分为四步 ...

  6. python twisted教程_Python下的twisted框架入门指引

    什么是twisted? twisted是一个用python语言写的事件驱动的网络框架,他支持很多种协议,包括UDP,TCP,TLS和其他应用层协议,比如HTTP,SMTP,NNTM,IRC,XMPP/ ...

  7. python处理表格数据教程_python利用Excel读取和存储测试数据完成接口自动化教程...

    http_request2.py用于发起http请求 #读取多条测试用例 #1.导入requests模块 import requests #从 class_12_19.do_excel1导入read_ ...

  8. smtplib python教程_Python使用poplib模块和smtplib模块收发电子邮件的教程

    poplib模块接收邮件python的poplib模块是用来从pop3收取邮件的,也可以说它是处理邮件的第一步. POP3协议并不复杂,它也是采用的一问一答式的方式,你向服务器发送一个命令,服务器必然 ...

  9. python 操作excel 教程_Python学习笔记(十六)—Python操作Excel

    Python中对Excel文件的操作包括:读.写.修改.如果要对其进行如上的操作需要导入Python的第三方模块:xlrd.xlwd.xlutils,其分别对应Python的读.写.修改的操作 一.安 ...

最新文章

  1. sm2加密算法实例_实例说明加密算法
  2. CV之路——opencv基本操作
  3. php转义和去掉html、php标签函数
  4. 1-5(思科)交换机配置实战需要注意的地方
  5. vue ref 绑定的事件需要移除吗_Vue易遗忘的基础复习(二)
  6. Magento教程 17:Magento功能导览(1) 会员功能
  7. 超级无敌数字加密算法
  8. 大数据可视化该如何实现
  9. mysql concat 能否返回数字_关于Mysql中GROUP_CONCAT函数返回值长度的坑
  10. LINUX打开方式的配置
  11. JavaScript中Switch语句支持字符串类型数据
  12. 虚拟机下载-下载windows镜像
  13. 嵌入式培训经验分享——网络编程项目实战(在线电子词典)
  14. 天空的颜色 363
  15. 2019年微博用户画像_2019年您需要了解的有关用户的信息
  16. 八皇后问题----Java实现
  17. [OpenGL] 太阳镜头光晕效果
  18. OpenCV内存方式,将rgb数据压缩成jpg数据
  19. 通俗易懂理解几何光学(四)光学系统中的光阑与光束限制
  20. 天上掉馅饼?英国推出全球首个无人机派送披萨服务

热门文章

  1. Android 手机运行 JoyCon Droid 并且使用 Amiibo
  2. 做好TikTok信息流广告,我从100个营销短视频中总结了这些方法
  3. JDK环境配置,javac不是内部命令问题
  4. 漂流瓶 php,使用PHP怎么实现一个迷你漂流瓶功能
  5. 发布超人游戏(C语言游戏源码)
  6. 手撸架构,Docker 面试25问
  7. 端口被占用的原因及解决办法
  8. 华为鸿蒙专属文件后缀,华为鸿蒙2.0系统终于来了! 软件后缀正式曝光: 将打造万物互联生态...
  9. 揭露丑恶:2009年河南省高考零分作文“兔子,你就是一个傻B”反映出的社会现实
  10. 斐波那契之兔子问题解释