python3

Python3安装HTMLTestRunner,修改HTMLTestRunner.py文件

限于喜欢 提交于 2020-03-16 09:48:24
1.下载HTMLTestRunner地址:http://tungwaiyip.info/software/HTMLTestRunner.html 2.下载的HTMLTestRunner.py是针对python2写的,所以针对python3需要适当更改其内容: 下面更改内容转载自博客园-微微笑 1. 修改的地方 问题一:No module named StringIO 原因:python 3 中 没有 StringIO 这个模块。这里我们需要使用io 这个模块来代替。 解决方法: 第94行引入的名称要改,从 import StringIO 改成import io。 相应的,539行 self.outputBuffer = StringIO.StringIO() 要改成self.outputBuffer = io.BytesIO() 问题二:AttributeError: 'dict' object has no attribute 'has_key' 原因:python 3 字典类型的object 已经不支持 has_key函数,我们需要使用in 来进行遍历。 解决方法: 定位到642行,if not rmap.has_key(cls): 需要换成 if not cls in rmap: 问题三:'str' object has no attribute 'decode' 原因

Python3标准库:tempfile临时文件系统对象

泪湿孤枕 提交于 2020-03-16 09:46:45
1. tempfile临时文件系统对象 要想安全的创建名字唯一的临时文件,以防止被试图破坏应用或窃取数据的人猜出,这很有难度。tempfile模块提供了多个函数来安全的创建临时文件系统资源。TemporaryFile()打开并返回一个未命名的文件,NamedTemporaryFile()打开并返回一个命名文件,SpooledTemporaryFile在将内容写入磁盘之前先将其保存在内存中,TemporaryDirectory是一个上下文管理器,上下文关闭时会删除这个目录。 1.1 临时文件 如果应用需要临时文件来存储数据,而不需要与其他程序共享这些文件,则应当使用TemporaryFile()函数创建文件。这个函数会创建一个文件,而且如果平台支持,它会立即断开这个新文件的链接。这样一来,其他程序就不可能找到或打开这个文件,因为文件系统表中根本没有这个文件的引用。对于TemporaryFile()创建的文件,无论通过调用close()还是结合使用上下文管理器API和with语句,关闭文件时都会自动删除这个文件。 import os import tempfile print('Building a filename with PID:') filename = '/guess_my_name.{}.txt'.format(os.getpid()) with open(filename

python3 print函数的用法

泪湿孤枕 提交于 2020-03-16 08:03:04
1. 输出字符串 >>> strHello = 'Hello World' >>> print (strHello) Hello World 2. 格式化输出整数 支持参数格式化,与 C语言 的printf类似 >>> strHello = "the length of (%s) is %d" %('Hello World',len('Hello World')) >>> print (strHello)the length of (Hello World) is 11 3. 格式化输出16进制,十进制,八进制整数 #%x --- hex 十六进制#%d --- dec 十进制#%o --- oct 八进制 >>> nHex = 0xFF>>> print("nHex = %x,nDec = %d,nOct = %o" %(nHex,nHex,nHex))nHex = ff,nDec = 255,nOct = 377 4.格式化输出浮点数(float) import math >>> print('PI=%f'%math.pi)PI=3.141593>>> print ("PI = %10.3f" % math.pi) PI = 3.142>>> print ("PI = %-10.3f" % math.pi) PI = 3.142 >>> print ("PI = %06d" %

Centos 6.5部署nginx+uwsgi+django

本秂侑毒 提交于 2020-03-16 06:14:24
Centos 6.5部署nginx+uwsgi+django 一、安装python3,系统默认是python2.6 1、安装依赖软件 yum -y install sqlite-devel yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel 2、下载安装python3.6 wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tgz tar zxvf Python-3.6.1.tgz cd Python-3.6.1 ./configure --prefix=/usr/local/python3 make && make install 3、创建python及pip命令软链接 ln -s /usr/local/python3/bin/python3 /usr/bin/python3 ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3 4、测试 [root@localhost ~]# python3 Python 3.6.1 (default, Dec 21 2017, 16:14:49) [GCC 4.4.7 20120313 (Red Hat 4.4.7-18)] on linux

compile mycli by pyinstaller

怎甘沉沦 提交于 2020-03-15 13:56:33
背景 在服务器没有安装mycli,安装的python版本不一致的情况下,想到通过pyinstaller编译出mycli的二进制文件直接运行。 pyinstaller -F /usr/bin/python3.6/bin/mycli --onefile 编译成功,然后悲剧的情况来了 Traceback (most recent call last): File "mycli", line 11, in <module> File "site-packages/click/core.py", line 829, in __call__ File "site-packages/click/core.py", line 782, in main File "site-packages/click/core.py", line 1066, in invoke File "site-packages/click/core.py", line 610, in invoke File "site-packages/mycli/main.py", line 1053, in cli File "site-packages/mycli/main.py", line 118, in __init__ File "site-packages/configobj.py", line 554, in _

python3 入门 (三) 函数与lambda表达式、闭包

风格不统一 提交于 2020-03-15 11:37:16
函数 是组织好的、可重复使用的、用来实现单一或相关联功能的代码段。 函数代码块以def关键词开头,后接函数标识符名称和圆括号() 任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明 函数内容以冒号起始,并且缩进 Return[expression]结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None 函数的定义 : 1 def test0(): 2 "函数_文档字符串" 3 print('函数内部') 4 5 print(test0.__doc__) # 函数_文档字符串 若采用默认参数定义函数,调用函数时,缺省参数的值如果没有传入,则被认为是默认值: 1 def test1(arg1='参数一', arg2='参数二'): 2 print('arg1:'+arg1) 3 print('arg2:'+arg2) 4 5 test1() # arg1:参数一 arg2:参数二 6 7 # 默认情况下,参数值和参数名称是按函数声明中定义的的顺序匹配起来的 8 test1('ice', 'cream') # arg1:ice arg2:cream 9 test1(arg2='cream', arg1='ice') # arg1:ice arg2:cream 不定长参数 。加了星号(

Python3 中的 str 和 bytes

女生的网名这么多〃 提交于 2020-03-15 11:29:00
与 Python2.X 不同,Python3.X 严格区分了 str 和 bytes 两种类型。文本为 Unicode,由 str 类型表示;二进制数据则由 bytes 表示。 Python3.X 不会以任意隐式的方式混用 str 和 bytes。因此使用者不能拼接字符串和字节包,也无法在字节包里搜索字符串(反之亦然),也不能将字符串传入参数为字节包的函数(反之亦然)。 例如 Python3.X 中的 socket.send() 函数,如果传入未编码的字符串,会报错: >>> client.send("test str") Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: a bytes-like object is required, not 'str' >>> client.send(b"test str") #将参数转换成 bytes 类型 8 #返回发送的数据长度 编码发展的历史 在计算机历史的早期,美国为代表的英语系国家主导了整个计算机行业,26个英文字母组成了多样的英语单词、语句、文章。因此,最早的字符编码规范是 ASCII码,一种8位(即1个字节)的编码规范 ,它可以涵盖整个英语系的编码需要。 编码是什么?编码就是把一个字符用一个二进制来表示。我们都知道

python开发之路之深浅拷贝

社会主义新天地 提交于 2020-03-13 14:39:42
深浅拷贝 特别说明: 1. 浅拷贝只拷贝一层,后面就是共享了。 2. 例如[ [1,2,3] ,4,5,6 ],在这个嵌套列表中,小列表[1,2,3]就是一块共享的内存空间,它不是存储地址,所以你浅拷贝过来的数据对小列表即共享内存空间进行了数据修改,那么,之前的源数据也会被修改。因为修改了共 享内存空间的数据, 就相当于修改了源数据在内存中的指针方向。 3.深拷贝相当于克隆一份。 浅拷贝 实例一: a = [1,'alex','alvin'] b = a[:] print(a) print(b) 打印结果如下: D:\python3.5\python.exe D:/pycharm/data/第一周/day3/深浅拷贝.py [1, 'alex', 'alvin'] [1, 'alex', 'alvin'] 这个时候对b中的'1'进行修改,观察a列表里面的值是否会发生变化? b[1] = 'zhangjunchao' #修改1的值为zhangjunchao print(a) print(b) D:\python3.5\python.exe D:/pycharm/data/第一周/day3/深浅拷贝.py [1, 'alex', 'alvin'] #a没有发生变化 [1, 'zhangjunchao', 'alvin'] #b发生变化 实例二: a = [[1,2],'alex',

Python3 合并TXT文件

岁酱吖の 提交于 2020-03-13 10:03:54
import os #获取目标文件夹的路径 filedir = os.getcwd()+"\\testfile" #假设合并的所有文件存放在文件夹testfile中 #获取当前文件夹中的文件名称列表 filenames=os.listdir(filedir) #print(filenames) #打开当前目录下的result.txt文件,如果没有则创建 f=open('result.txt','a') #先遍历文件名 for filename in filenames: filepath = filedir + "\\"+filename #print(filepath) #遍历单个文件,读取行数 for line in open(filepath,"r"): f.writelines(line) f.write('\n') #关闭文件 f.close() 来源: https://www.cnblogs.com/bitterain/p/10342522.html

thefuck安装和使用(ubuntu)

我与影子孤独终老i 提交于 2020-03-13 09:53:00
系统环境(已测试可用): ubuntu 18.04 lts (server或desktop),ubuntu 19.04(server或desktop) sudo apt update sudo apt install python3-dev python3-pip sudo pip3 install thefuck 编辑文件 ~/.bashrc (ps:给thefuck命令添加别名) vim ~/.bashrc 在该文件末尾添加一行 eval "$(thefuck --alias)" 保存文件并退出(:wq), 然后执行更新 source ~/.bashrc 此时 fuck 命令可用 来源: https://www.cnblogs.com/tu13/p/linux_tools_thefuck.html