read

文件处理二

最后都变了- 提交于 2019-12-27 22:29:30
文件处理模式 r,w,a将上面的三个模式成为纯净模式 r+,w+,a+ with open(r'test',mode='r+',encoding='utf-8') as f: print(f.readable()) print(f.writable()) print(f.readline()) f.write('嘿嘿嘿') with open(r'test',mode='w+',encoding='utf-8') as f: print(f.readable()) print(f.writable()) print(f.readline()) f.write('嘿嘿嘿') with open(r'test',mode='r+b') as f: print(f.readable()) print(f.writable()) res = f.read() print(res.decode('utf-8')) res1 = str(res,encoding='utf-8') print(res1) 文件内光标移动 在rt模式下,read内的数字表示的是字符的个数。除此之外的数字都是表示字节 with open(r'test','r',encoding='utf-8') as f: print(f.read(5)) with open(r'test','rb') as f: res = f

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

分布式事务

空扰寡人 提交于 2019-12-27 02:47:05
大纲 1.什么是事务? 2.事务的四大特性ACID 3.数据库的四种隔离级别 4.事务并发执行会出现的问题 1.什么是事务(Transaction)?   一组操作,要么全部执行成功,要么全部不执行。事务由一组操作组成,其中任一操作发生错误,则回滚之前成功的操作。 2.数据库事务的四大特性ACID    原子性(Atomicity) :事务是一个不可分割的执行单元,事务包含的全部操作要么全部执行成功,要么全部失败回滚。也即成功则完全应用到数据库,失败则对数据库不产生任何变更。    一致性(Consistency) :事务开始前和结束后, 数据库的完整性约束(存储在数据库中的所有值都是正确的) 没被破坏。    隔离性(Isolation) :每个事务相互独立,互不干扰,一个事务无法看到另一个事务中的数据。    持久性(Durability) :事务执行完成,其结果是持久化保存的。即使数据库发生崩溃,数据库恢复后事务提交的结果仍然存在(当然如果数据无法恢复的另说)。 3.数据库的四种隔离级别    Serializable (串行化): 可避免脏读、不可重复读、幻读的发生。    Repeatable read (可重复读): 可避免脏读、不可重复读的发生。    Read committed (读已提交): 可避免脏读的发生。    Read uncommitted (读未提交

mysql事物隔离级别

懵懂的女人 提交于 2019-12-27 01:23:43
第1级别:Read Uncommitted(读取未提交内容) READ_UNCOMMITTED 会出现脏读、不可重复读、幻读 ( 隔离级别最低,并发性能高 ) (1)所有事务都可以看到其他未提交事务的执行结果 (2)本隔离级别很少用于实际应用,因为它的性能也不比其他级别好多少 (3)该级别引发的问题是——脏读(Dirty Read):读取到了未提交的数据 第2级别:Read Committed(读取提交内容) 会出现不可重复读、幻读问题(锁定正在读取的行) (1)这是大多数数据库系统的默认隔离级别(但不是MySQL默认的) (2)它满足了隔离的简单定义:一个事务只能看见已经提交事务所做的改变 (3)这种隔离级别出现的问题是——不可重复读(Nonrepeatable Read):不可重复读意味着我们在同一个事务中执行完全相同的select语句时可能看到不一样的结果。 第3级别:Repeatable Read(可重读) REPEATABLE_READ 会出幻读(锁定所读取的所有行) (1)这是MySQL的默认事务隔离级别 (2)它确保同一事务的多个实例在并发读取数据时,会看到同样的数据行 (3)此级别可能出现的问题——幻读(Phantom Read):当用户读取某一范围的数据行时,另一个事务又在该范围内插入了新行,当用户再读取该范围的数据行时,会发现有新的“幻影” 行 (4

python之文件的管理

眉间皱痕 提交于 2019-12-26 12:46:06
文件的操作:打开--->操作--->关闭 r(readonly)默认参数 -只能读 不能写 -读取文件不存在 会报错 w -写文件(write only) -文件存在时,会清空文件的内容并写入新的文件内容 -文件不存在,会创建新的文件并写入内容 a -写文件(write only) -写:不会清空文件内容 会在文件末尾追加 -写:文件不存在的时候,不会报错 会创建新的文件并写入内容 w+ -r/w -文件不存在 不报错 会创建新文件并写入 -会清空文件(w) #w r(x) r x r+ -r/w -文件不存在 报错 -会清空文件 a+ -r/w -不会清空文件内容 会在文件末尾追加 -读文件的时候 一定要移动文件指针(a/a+ 在文件对象创建的时候 指针默认 就在文件末尾) """ # 1.打开文件 f = open('/tmp/westosdddd','r+') # 2.操作 print(f) content = f.read() print(content) # 告诉当前文件指针的位置 # 判断文件对象拥有的权限 print(f.readable()) print(f.writable()) print(f.tell()) # 移动文件指针 f.seek(0,0) print(f.read()) print(f.tell()) print('~~~~~~') print(f

Day 09 文件处理

自作多情 提交于 2019-12-24 00:24:18
目录 什么是文件 绝对路径与相对路径 文件打开的三种模式 文件打开模式之r模式 文件打开模式之w模式 文件打开模式之a模式 文件打开的两种方式 with管理文件上下文 文件的高级应用 可读、可写 文件内指针移动 文件的两种修改方式 方式一 方式二 什么是文件 文件就是操作系统提供的虚拟单位 绝对路径与相对路径 绝对路径是从盘符开始的路径 相对路径是当前执行文件所在的文件夹开始找 文件打开的三种模式 如果我们需要打开一个文件,需要向操作系统发起请求,要求操作系统打开文件,占用操作系统资源。Python中使用open()方法可以打开某个具体的文件,open()方法内写入文件路径。 open('E:\typora\Note\Class\Day09\user_info.txt') 打开文件之后,文件不仅占用了内存,他还对应了操作系统打开的以文件,相当于使用文本编辑器打开了一个文件。并且我们说了我们操控文件只是为了读和写,因此打开文件并不是目的,读和写才是目的,接下来我们尝试如何读写文件。 文件打开模式之r模式 r:read,只读模式,只能读不能写,文件不存在时报错 f = open('user_info.txt', mode = 'r', encoding='utf8') print(f.readable()) print(f.writable) f.close() True False

python安装包时:timeout

走远了吗. 提交于 2019-12-24 00:09:28
问题: D : \code_python\scriptLearning > pip install scrapy Collecting scrapy Downloading https : // files . pythonhosted . org / packages / 3b / e4 / 69b87d7827abf03dea2ea984230d50f347b00a7a3897bc93f6ec3dafa494 / Scrapy - 1.8 .0 - py2 . py3 - none - any . whl ( 238kB ) | ████████████████████████████████ | 245kB 105kB / s Requirement already satisfied : zope . interface >= 4.1 .3 in d : \programdata\anaconda3\lib\site - packages ( from scrapy ) ( 4.5 .0 ) Requirement already satisfied : cssselect >= 0.9 .1 in d : \programdata\anaconda3\lib\site - packages ( from scrapy ) ( 1.1 .0 ) Collecting

CentOS搭建SVN服务器

冷暖自知 提交于 2019-12-23 17:30:59
一、环境 系统:CentOS 7.0 SVN:官网最新版(地址: https://tortoisesvn.net/downloads.html ) 二、为方便测试,关闭防火墙和selinux setenforce 0 systemctl stop firewalld 三、开始安装 # 1、查看本机是否安装过SVN rpm -qa subversion #如果有,则卸载 yum remove subversion # 2、安装SVN和其他服务 yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql #也可以只安装SVN服务 yum install subversion -y #3、确认安装成功 cd /etc/httpd/modules ls | grep svn #结果是两个so文件,mod_authz_svn.so 和 mod_dav_svn.so #4、验证版本 svnserve --version 四、创建代码库 #创建文件夹目录用于存放 mkdir -p /opt/svn/repositories #创建一个新的SVN仓库,仓库路径为上面的那个目录 svnadmin create /opt/svn/repositories 五、修改配置文件 cd /opt/svn/repositories

linux read 用法

半城伤御伤魂 提交于 2019-12-23 17:26:11
1、基本读取 read命令接收标准输入(键盘)的输入,或其他文件描述符的输入(后面在说)。得到输入后,read命令将数据放入一个标准变量中。下面是 read命令 的最简单形式:: #!/bin/bash echo -n "Enter your name:" //参数-n的作用是不换行,echo默认是换行 read name //从键盘输入 echo "hello $name,welcome to my program" //显示信息 exit 0 //退出shell程序。 //******************************** 由于read命令提供了-p参数,允许在read命令行中直接指定一个提示。 所以上面的脚本可以简写成下面的脚本:: #!/bin/bash read -p "Enter your name:" name echo "hello $name, welcome to my program" exit 0 在上面read后面的变量只有name一个,也可以有多个,这时如果输入多个数据,则第一个数据给第一个变量,第二个数据给第二个变量,如果输入数 据个数过多,则最后所有的值都给第一个变量。如果太少输入不会结束。 //***************************************** 在read命令行中也可以不指定变量.如果不指定变量

数据库事务

你说的曾经没有我的故事 提交于 2019-12-23 06:54:45
四种隔离级 1,read uncommitted(读取未提交内容) 在read uncommitted隔离级,所有事务都可以“看到”未提交事务的执行结果。在这种级别上,可能会产生很多问题,除非用户真的知道自己在做什么,并且很多的理由选择这样做。本隔离级别很少用于实际应用,因为它的性能也不必其他级别好多少,而别地级别还有其他更多的优点。读取未提交数据,也被称之为脏读(dirty read)。 2,read committed(读取提交内容) 大多数数据库系统的默认隔离级别为read committed(但不是mysql默认的)。它满足了隔离级别早先简单定义:一个事务在开始时,只能”看见“已经提交事务所做得改变,一个事务从开始到提交前,所做得任何数据改变都是不可见的,除非已经提交。这种隔离级别也支持 所谓的”不可重复读(nonrepeatable)“,意味着用户运行同一语句两次,看到的结果是不同的。 3,repeatable read(可重读) repeatable read隔离级解决了read uncommitted隔离级导致的问题。它却确保同一事务的多个实例在并发读取数据时,会”看到同样地“数据行。不过理论上,这会导致另外一个棘手的问题,幻读(phantom read)。简单来说,幻读指当用户读取某一个范围的数据行时,另外一个事务又在该范围内插入插入了心行