python3

PyMySQL和MySQLdb的区别

。_饼干妹妹 提交于 2019-12-28 11:30:29
网上很多关于Scrapy存入MySQL的教程,都会发现又这么一个包的引入: import MySQLdb import MySQLdb.cursors 聪明的你或许已经算到,需要安装MySQLdb,所以你就在命令行输入: pip install MySQLdb 但遗憾的是,你发现,出现了下面的错误: Could not find a version that satisfies the requirement MySQLdb (from versions: )No matching distribution found for MySQLdb 几个意思?原来是没有这么一个包,找了原因发现MySQLdb只只支持到python3.4,因此,如果你是python3.5+的用户,那肯定找不到这么一个包,那如何是好? 其实,python3.5以上的用户,可以安装另外一个mysql驱动:PyMySQL 什么是 PyMySQL? PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。 PyMySQL 遵循 Python 数据库 API v2.0 规范,并包含了 pure-Python MySQL 客户端库。 PyMySQL 安装 在使用 PyMySQL 之前,我们需要确保 PyMySQL 已安装。 PyMySQL 下载地址

Python3脚本单进程实例实现

空扰寡人 提交于 2019-12-28 09:34:20
一、说明 一方面,前边写了“ Linux shell脚本单实例模式实现 ”,python也是日常需要使用的,所以也想来看python中如何实现。 另一方面,shell中没有类和实例的概念,所以我以为“单进程实例”和设计模式中的“单例模式”是一个意思,但实际来看还是有些差别的。 “单进程实例”要求的是在整个内存中,一个文件只有一个进程实例。“单例模式”能保证的是类只有一个实例,一是说他可能被同进程其他代码在多处调用、实例化然而他总是返回那一个实例,二是即便只有他一个文件一个类我们仍可以多次运行而效果只是一个进程中只有该类的一个实例。 或者用协议的级别进行类比,“单进程实例”和”单例模式“他们所处的层级是不一样的,“单进程实例”是整个内存级,“单例模式”是整个进程级。 二、Linux平台实现--使用标准库fcntl linux平台可以通过python标准库fcntl来实现锁 import os import time import fcntl class Test(): # 此函数用于获取锁 def _get_lock(self): file_name = os.path.basename(__file__) # 为了统一按linux的习惯放到/var/run目录去 lock_file_name = f"/var/run/{file_name}.pid" #

ubuntu服务器配置

我只是一个虾纸丫 提交于 2019-12-28 06:49:13
服务器部署 本人用的是阿里云  1.用xshell连接服务器终端  2.用filezilla连接服务器用来传文件  3.更换ubuntu源为阿里源  拷贝sources.list: sudo cp /etc/apt/sources.list /etc/apt/sources1.list  删除配置文件 sudo rm /etc/apt/sources.list  打开配置文件: sudo vi /etc/apt/sources.list  按i进入插入模式,然后粘贴aliyun的源 deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (20160420.1)]/ xenial main restricted deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial universe deb http://mirrors.tuna.tsinghua.edu.cn

python3内置函数sorted和list.sort()的对比与使用

核能气质少年 提交于 2019-12-28 04:07:56
参考资料: list.sort() sorted() sortinghowtodo sorted(iterable, *, key=None, reverse=False) python3中移除了cmp 参数说明: iterable:迭代器,可迭代的元素 key:主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。默认为空,可传函数和匿名函数 reverse:排序规则,reverse = True 降序, reverse = False 升序(默认) 返回值 从可迭代的项目中返回新的排序列表。 list.sort(key=None, reverse=False) 参数说明: key:主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。默认为空,可传函数和匿名函数 reverse:排序规则,reverse = True 降序, reverse = False 升序(默认) 返回值 无返回值,改变原list 实例: list.sort(key=匿名函数) list.sort(key=匿名函数,reverse=True) random = [ ( 2 , 2 ) , ( 3 , 4 ) , ( 4 , 1 ) , ( 1 , 3 ) ] random .

新手教程-----Python3 函数

陌路散爱 提交于 2019-12-28 02:55:51
新手教程-----Python3 函数 Python3 函数 定义函数 参数 必需参数 关键字参数 不定长参数 匿名函数 return语句 Python3 函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。 函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。 定义一个函数 你可以定义一个由自己想要功能的函数,以下是简单的规则: 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。 函数内容以冒号起始,并且缩进。 return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。 语法 Python 定义函数使用 def 关键字,一般格式如下: def 函数名(参数列表) : 函数体 默认情况下,参数值和参数名称是按函数声明中定义的顺序匹配起来的。 下面我们来看下一些实例 首先让我们使用函数来输出"Hello World!": def hello ( ) : print ( "Hello World!" ) hello ( ) 运行代码,返回结果如下 Hello

python 3: pickle加载数据出现UnicodeDecodeError: 'ascii' codec can't decode byte 0xf0 in position 6: ordin

二次信任 提交于 2019-12-28 01:35:11
Traceback (most recent call last): File "/anaconda3/workspace_data/emoji_data/data/PsychExp/load_pk_file.py", line 27, in <module> datas = loadList(path) File "/anaconda3/workspace_data/emoji_data/data/PsychExp/load_pk_file.py", line 17, in loadList segContent = pickle.load(pkl_file) File "/anaconda3/lib/python3.7/pickle.py", line 1593, in _load encoding=encoding, errors=errors).load() File "/anaconda3/lib/python3.7/pickle.py", line 1085, in load dispatch[key[0]](self) File "/anaconda3/lib/python3.7/pickle.py", line 1210, in load_string self.append(self._decode_string(codecs.escape_decode(data

python3之模块

一曲冷凌霜 提交于 2019-12-28 00:47:56
1、python3模块 模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数等功能。这也是使用 python 标准库的方法。 模块让你能够有逻辑地组织你的python代码段;把相关的代码分配到一个模块里能让你的代码更好用,更易懂。 模块能定义函数,类和变量,模块里也能包含可执行的代码。 #新建模块文件modle_1.py,内容如下: def p_func(arg): print('hello',arg) return #新建主模块文件main.py,内容如下: from modle_1 import p_func #导入模块modle_1中的p_func函数 if __name__ == "__main__": #判断是否为主程序执行口 p_func('python') #output: hello python 2、模块的引入 模块定义好后,可以使用import语句来引入模块,语法如下: import module1,[module2[,.........moduleN]] 比如要引用模块math,就可以在文件最开始用import math来引入,在调用math模块中的函数时,必须使用:模块名.函数名,来使用函数。 一个模块只会被导入一次,不管执行了多少次import,这样可以防止导入模块被重复执行。 from ...

Python3学习笔记23-StringIO和BytesIO

落花浮王杯 提交于 2019-12-27 18:44:48
StringIO 很多时候数据读取不一定是文件,也可以在内存中 StringIO顾名思义就是在内存中读写str 要把str写入StringIO,我们需要先创建一个StringIO,然后像文件一样写入即可: from io import StringIO f = StringIO() f.write('Hello') f.write(' ') f.write('Word') print(f.getvalue()) #getvalue()方法用于获得写入的str 要读取StringIO,可以用一个str初始化StringIO,然后,像读文件一样读取: f = StringIO('Hello!\nHi!\nGoodbye!') while True: s = f.readline()#每行读取 if s == '':#当读取到空 break#终止读取 print(s.strip())#strip()去掉首尾空格 BytesIO StringIO操作的只能是str,如果要操作二进制数据,就需要使用BytesIO。 BytesIO实现了在内存中读写bytes,我们创建一个BytesIO,然后写入一些bytes: from io import BytesIO f = BytesIO() f.write('中文'.encode('utf-8'))#写入的是经过utf-8编码的bytes

Python3 IO编程之StringIO和BytesIO

♀尐吖头ヾ 提交于 2019-12-27 18:44:08
  StringIO    很多时候,数据读写不一定是文件,也可以在内存中读写。   要把str写入StringIO,我们需要先创建一个StringIO,然后像文件一样写入即可 >>> from io import StringIO >>> f=StringIO() >>> f.write('hello') 5 >>> f.write(' ') 1 >>> f.write('world!') 6 >>> f <_io.StringIO object at 0x7f6bbc76e318> >>> f.getvalue() 'hello world!'   getvalue()方法用于获得写入后的str   要读取StringIO,可以用一个str初始化StringIO,然后像读文件一样读取 >>> f=StringIO('Hello!\nHi!\nGoodbye!') >>> while True: ... s=f.readline() ... if s=='': ... break ... print(s.strip()) ... Hello! Hi! Goodbye!   BytesIO   StringIO操作的只能是str,如果要操作二进制数据,就需要使用BytesIO。   BytesIO实现了在内存中读写bytes,我们创建一个BytesIO,然后写入一些bytes: >

Centos7下python3安装pip-9.0.1

回眸只為那壹抹淺笑 提交于 2019-12-27 16:11:52
pip类似RedHat里面的yum,安装 Python 包非常方便。本节详细介绍pip的安装、以及使用方法 1、下载pip安装包 [root@localhost ~]# wget https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz#md5=35f01da33009719497f01a4ba69d63c9 2、解压pip安装包 [root@localhost ~]# tar xf pip-9.0.1.tar.gz 3、安装pip [root@localhost ~]# cd pip-9.0.1 [root@localhost pip-9.0.1]# python3 setup.py install 4、 pip使用详解 pip安装模块报错,提示没有ssl模块 [root@localhost ipython-6.1.0]# pip install traitlets pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available. Collecting