Python基础 ( 五 )

Posted Matrixssy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python基础 ( 五 )相关的知识,希望对你有一定的参考价值。

#文件处理

#文件打开模式

r            只读

w        只写

a   只追加

x      只读,没文件会报错

#open中的mode参数

‘r‘  ‘w‘  ‘a‘  ‘x‘

#以下注意!!!

‘w+‘   == w + r    #假定open的文件存在的情况下:以w的形式open 并加上r功能 (打开一个空文件,执行操作后覆盖回原文件)

 

f = open(text1,w+,encoding=utf-8)  --> f称为文件句柄
data = f.readlines()                     --> data 的值为空 ,因为w+ 是开一个空文件,无论之前该文件里有何内容都无关
print(data)
f.write(
11
22
33
44
)            --> 写入文本
data1 = f.readlines()            
print(data1)                             --> data1 的值仍然为空,因为读取是从写入的文本的最后开始读取
f.close()

 

‘a+‘   == a + r      #假定open的文件存在的情况下:以 a 的形式open 并加上r功能(打开原文件,从文件的末尾开始执行操作)

 

f = open(text1,a+,encoding=utf-8)
data = f.readlines()                     --> data 的值为空 ,因为a+ 是打开原文件,但是从末尾开始执行操作,此时末尾无字符,读取的为空
print(data)
f.write(
11
22
33
44
)            --> 追加文本
data1 = f.readlines()            
print(data1)                             --> data1 的值仍然为空,因为读取是从追加的文本的最后开始读取(为空)
f.close()

 

 

 

‘r+‘   == r + w    #假定open的文件存在的情况下:以 r 的形式open 并加上w功能(打开原文件,从文件的开头开始执行操作)

 

f = open(text1,r+,encoding=utf-8)
data = f.readlines()                     --> data 的值为原文件里的文本 ,因为a+ 是打开原文件,从开头开始执行操作
print(data)
f.write(
11
22
33
44
)            --> 读取完文件后,光标到达文件末尾,从末尾写入文本
data1 = f.readlines()            
print(data1)                             --> data1 的值仍然为空,因为是从写入文本的最后开始读取(为空)
f.close()

 

 

 

‘x+‘   == x + r

#在底层以二进制处理文件(linux下没卵用,因为linux底层就是以二进制处理)

rb wb ab rb+ wb+ ab+

#文件处理操作

#open函数(open的值称为文件句柄)

f = open(C:\Users\ssy\Desktop\1.txt, ‘r‘ ,encoding=utf-8)
#注意路径分隔符为\ ,不指定路径只输入文件名(1.txt)则需要文件与py代码文件的路径一致  
#open函数如果不指定编码方式,默认使用当前系统的编码读取文本
#windows默认系统编码方式为gbk ,mac为utf8 。故在windows下得指定编码方式
#windows下打开记事本另存为时可以查看编码方式
#第二个参数 ‘w‘ 代表 只写模式(不可读),不输入默认为 r 只读模式
text = f.read() print(text) f.close()

#read函数

f = open(C:\Users\ssy\Desktop\1.txt,encoding=utf-8)
a = f.readable()                          -->判断是否可读
b = f.readline()                -->一次读取一行,第一行开始(下一行有文本的情况下,读取完默认换行(实际上顺序读取每一行的每个字符,包括隐藏的
))
c = f.readline()
d = f.readlines()               -->从当前光标位置开始(如上面调用了readline函数,从调用后的光标位置开始),读取所有行,存入列表中
print(a) print(b , end=‘‘)
print(d) f.close()

#文件处理操作

#write函数

f = open(C:\Users\ssy\Desktop\1.txt,‘w‘,encoding=utf-8)
# w (只写) 模式下,直接开一个新文件覆盖原文件(相当于清空了原文件),再开始下一步操作.
#若没有此文件,则会创建
f.write(111111 the first line
)
f.write(end 0,0
 Aha ! you were tricked !
)
f.writable()                                    #判断是否 只写 模式
f.writelines([aaa
,123,bbb,[abc]])     #注意文件里都为字符串类型,故也只能写入字符串
f.close()

#文件处理追加操作

f = open(C:\Users\ssy\Desktop\1.txt,‘a‘,encoding=utf-8)
f.write(write in the end 
)
f.close()

#文件处理with语句(打开文件执行完操作后自动关闭文件)

with open(text1,w,encoding=utf-8) as f :
    f.write(hello world~
)

#同时打开多个文件进行操作

 

with open(‘text1‘,‘w‘,encoding=‘utf-8‘) as f , open(‘text2‘,‘w‘,encoding=‘utf-8‘) as f1 :       #此操作 open文件有先后顺序(左到右)
    f.write(hello world~
)
    f1.write(I hate the world !!!
)

 

 

 








以上是关于Python基础 ( 五 )的主要内容,如果未能解决你的问题,请参考以下文章

Java基础入门五)之方法以及递归算法

python基础五——模块

接口测试基础五-使用python+requests编写接口测试用例

Python编程基础之(五)Scrapy爬虫框架

Python基础学习五

Python基础 ( 五 )