python3

python3,pymysql操作数据库

橙三吉。 提交于 2020-02-29 10:42:40
1.pymysql和mysqldb主要区别:mysqldb只支持python2,还不支持3,所以在python3中用pymysql代替 2.使用python脚本实现增删改查和事物处理: import sysimport pymysql class dataBase(): global TABLENAME def connectDB(self,sql): try:       #连接数据库   conn=pymysql.connect(host="10.20.89.15",port=3306,user="root",password="123456", db="cs-sincerity",charset="utf8")       #获取游标 curs=conn.cursor(pymysql.cursors.DictCursor)       #执行sql curs.execute(sql)       alldatas=curs.fetchall()    if sql.find('insert')>-1: alldatas=conn.insert_id() conn.commit() curs.close() conn.close() return alldatasexcept: print("Can't connect database") sys.exit()     def

python3操作PyMySQL笔记

巧了我就是萌 提交于 2020-02-29 10:42:20
python3操作mysql需要先安装PyMySQL pip install PyMySQL 在linux登录mysql ,并且在安装数据库时设置了数据库的用户名“root”和密码“root”,mysql安装的版本为mysql5.7 [root@web ~]# mysql -uroot -p -h192.168.10.100 在mysql里面创建一个mysql库 mysql> create database mrsoft; Query OK, 1 row affected (0.00 sec) 下面是新建一个py文件远程创建一个mysql连接,下面通过connect()方法连接MySQL数据库mrsoft,具体代码如下: import pymysql # 打开数据库连接, 参数1:主机名或者ip;参数2:用户名;参数3:密码;参数4:数据库名称;参数5:用utf8格式打开数据库表防止出现中文乱码 db = pymysql.connect("192.168.10.100", "root", "root", "mrsoft", charset="utf8") # 使用cursor()方法创建一个游标对象cursor cursor = db.cursor() # 使用execute()方法执行SQL查询 cursor.execute("SELECT VERSION()") #

Python3标准库:operator内置操作符的函数接口

和自甴很熟 提交于 2020-02-29 09:37:02
1. operator内置操作符的函数接口 使用迭代器编程时,有时需要为简单的表达式创建小函数。有些情况下,尽管这确实可以被实现为lambda函数,但某些操作根本不需要新函数。operator模块定义了一些函数,可以对应标准对象API中内置的算术、比较和其他操作。 1.1 逻辑操作 有些函数可以用来确定一个值的相应布尔值,将其取反以创建相反的布尔值,以及比较对象以查看它们是否相等。 from operator import * a = -1 b = 5 print('a =', a) print('b =', b) print() print('not_(a) :', not_(a)) print('truth(a) :', truth(a)) print('is_(a, b) :', is_(a, b)) print('is_not(a, b):', is_not(a, b)) not_()后面有下划线,因为not是一个Python关键字。在if语句中测试一个表达式或将一个表达式转换为一个bool时会使用某种逻辑,truth()会应用与之相同的逻辑。is_()实现了is关键字使用的检查,is_not()完成同样的测试,不过返回相反的答案。 1.2 比较操作符 支持所有富比较操作符。 from operator import * a = 1 b = 5.0 print('a =',

cx_Freeze打包的程序在中文路径下的兼容性

自作多情 提交于 2020-02-29 08:11:05
前段时间对Python几大打包工具都进行了研究,包括py2exe、pyInstaller和cx_Freeze。很可惜目前只有cx_Freeze支持Python3,而且据搜索到的资料,都说如果打包带GUI的脚本后得到的程序无法在中文路径下运行。于是我决定亲自进行测试。结果如下: 环境:Windows 7 32位+Python2.7+Python3.2+cx_Freeze 4.2.3 Python版本 脚本类型 中文路径和文件名 2.7 控制台 支持 2.7 GUI 支持 3.2 控制台 支持 3.2 GUI 不支持 后来又搜索到一篇资料,可以通过修改cx_Freeze 4.2.3的源代码后编译安装可解决此问题。 资料地址如下: http://blog.tcirc.org/yoxem/?p=1150 (需翻QIANG) 参照这篇资料修改了源码进行编译,编译过程出现问题,后来安装了VS2008后编译成功,打包后的GUI程序果然支持中文路径了,不过很可惜还是不能支持中文文件名。 看来要将Python3打包成EXE的道路曲折而艰辛呀!不过一个好消息是,最近看到pyInstaller官方公布的路线图,将在未来正式支持Python3,希望能在年底前看到这一里程碑版本的发布。 来源: oschina 链接: https://my.oschina.net/u/140833/blog/52447

ubuntu18.04 | NVIDIA driver + CUDA-10.2 + cuDNN-7.6.5 + Pytorch + TensorFlow-gpu-2.1.0 + OpenCV-4.2.

我怕爱的太早我们不能终老 提交于 2020-02-28 17:45:06
一. NVIDIA显卡驱动 参考: https://www.cnblogs.com/abelsu/p/10625616.html 1. 安装前准备 (1). 检查是否有卡 一般购入电脑时就能有所了解,并且带有该显卡的电脑,都会有NVIDIA的绿色标识贴在机身上,只需要进一步确认就可以: $ lspci | grep -i nvidia 如果输出有带NVIDIA字符就可以了。 (2). 关闭Security Boot 重启电脑,在开机过程中连续敲击某个键进入BOIS设置,我的是F2,有的电脑是F6,F12等,不确定的可以根据电脑情况查一下。 选择Security Boot一栏,回车将Enable改为Disable。 2. 安装NVIDIA显卡驱动 (1). 禁用nouveau 可以先检查一下是否禁用,我的在安装系统时就一并禁用了: $ lsmod | grep nouveau 没有输出则证明被禁用了。 如果有输出,则执行: $ sudo gedit /etc/modprobe.d/blacklist.conf 在文末添加:blacklist nouveau,保存关闭后执行: $ sudo update-initramfs -u 重启电脑再执行: $ lsmod | grep nouveau (2). 把显卡驱动加入PPA: 卸载系统里的低版本驱动: $ sudo apt-get

python3_异常 && pass语句

不问归期 提交于 2020-02-28 13:38:20
使用异常对象来管理程序执行期间发生的错误。 异常是try-except代码块处理的。 1.前言 找到所需的异常 print ( 5 / 0 ) 异常语法解释: 将容易出错的代码放在try语句中运行, 如果没有报错:直接跳过except语句下的内容,运行其他剩余代码。 如果报错:将挨个查找except后面对应的错误类型,1.找到对应的错误,执行该错误下的代码块。运行剩余代码块。2.找不到对应的错误,报错,不运行剩余代码块。 例子: try : print ( 5 / 0 ) except ZeroDivisionError : print ( "除数不能为0" ) 2.else代码块: 使用else代码块的作用是只有当语句不报错的时候,才会执行print语句。 如果不使用else语句,print语句在不管报错或不报错都会执行。 try : 要测试的语句 except 异常类型 : 引发异常后的操作 else : 没引发异常时的操作 eg: 1.除数不能为零异常 try : result = 6 / 2 except ZeroDivisionError : print ( "除数不能为o" ) else : print ( result )   #不引发异常时时,才执行。 print ( "程序执行完毕!" ) #不管是否引发异常都会执行。 2.文件找不到异常 try : with

python3 sorted().py

☆樱花仙子☆ 提交于 2020-02-28 12:36:09
""" 模块:python3 sorted().py 功能:python3 排序函数。 参考:https://www.runoob.com/python3/python3-func-sorted.html 知识点: 1.sorted(iterable, key=None, reverse=False) -> 一个新的 list. sorted() 函数对所有可迭代的对象进行排序操作。 2.sort 与 sorted 区别: sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。 list 的 sort 方法返回的是对已经存在的列表进行操作, 而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。 """ # 1.sorted() # 此方法不改变原始序列,返回新的序列。 print("1:") list1 = [5, 2, 3, 1, 4] list2 = sorted(list1) print(list1, list2) # [5, 2, 3, 1, 4] [1, 2, 3, 4, 5] print(sorted({1: 'D', 2: 'B', 3: 'B', 4: 'E', 5: 'A'})) # [1, 2, 3, 4, 5] list1 = [5, 0, 6, 1, 2, 7, 3, 4] print

python3:lambda,map,filter内置函数

筅森魡賤 提交于 2020-02-28 10:24:57
notes: 参考文档-(菜鸟教程) http://www.runoob.com/python/python-built-in-functions.html 参考文档-(妖白) http://blog.csdn.net/qq_24753293/article/details/78337818 一.lambda() 描述: 简化def函数 实例: A=lambda x:x+1 理解为: def A(x): return x+1 冒号左边→想要传递的参数 冒号右边→想要得到的数(可能带表达式) 二.map() 描述: map(function, iterable, ...)会根据提供的函数对指定序列做映射,返回迭代器 实例: >>>def square(x) : # 计算平方数 ... return x ** 2 ... >>> list(map(square, [1,2,3,4,5])) # 计算列表各个元素的平方 [1, 4, 9, 16, 25] >>> list(map(lambda x: x ** 2, [1, 2, 3, 4, 5])) # 使用 lambda 匿名函数 [1, 4, 9, 16, 25] # 提供了两个列表,对相同位置的列表数据进行相加 >>> list(map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6,

ubuntu16.04 python2升级到python3(附升级到python3403 Forbidden问题解决方法)

我是研究僧i 提交于 2020-02-28 05:29:30
一.预期目标 系统默认版本: python2.7.12 ------>python3.6.10 二.查看默认python版本 终端输入: python 按 Ctrl+D退出python命令行 三.导入公钥 由于之前看了其他的流程都是导入的这个 sudo add-apt-repository ppa:jonathonf/python-3.6 但是由于jonathonf的ppa已经停止开源了 所以执行这个命令的话会出现error 403 。。。。。emmmmmm 之后就是在查这个的解决方案了。。。 在这个日文网站里有贴出替代的公钥 https://qiita.com/pudding167/items/1d7226155cbfcd76bb1a sudo add-apt-repository ppa:deadsnakes/ppa sudo apt update sudo apt install python3.6 试了下还真的成功的安装了python3.6 四.修改默认python版本 在安装了python3.6后。系统默认的版本还是2.7.12 所以需要调整Python3的优先级,使得3.6优先级较高; sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.5 1 sudo update

python学习 小游戏

限于喜欢 提交于 2020-02-28 05:01:39
基于python3.4 while循环 1 #!/usr/bin/python3 2 #-*- coding=utf-8 -*- 3 4 import random 5 import sys 6 import os 7 8 lucky_num = int(random.randint(0,9)) 9 guess_count = 0 10 os.system('clear') 11 print("---------猜数字游戏----------") 12 while guess_count < 3: 13 input_num = int(input("请输入0~9的数字:")) 14 if input_num > lucky_num: 15 print("输入的数字大了") 16 elif input_num < lucky_num: 17 print("输入的数字小了") 18 else: 19 print("Bingo!") 20 break 21 sys.exit() 22 guess_count += 1 23 24 else: 25 print("没有机会了,请下次再来~") for循环 1 #!/usr/bin/python3 2 #-*- coding=utf-8 -*- 3 4 import random 5 import sys 6 import os 7 8