码迷,mamicode.com
首页 > 编程语言 > 详细

python 基础知识6-文件操作

时间:2020-05-10 18:48:44      阅读:80      评论:0      收藏:0      [点我收藏+]

标签:路径   desktop   国家   声明   python   adl   操作文件   font   时光   

1、只读文件

#以文本打开文件‘r‘
f = open(C:\\Users\\Administrator\\Desktop\\Python\\f.txt,mode=r,encoding=utf-8)
content = f.read()
print(content)
f.close()#中国是个伟大的国家。

#以二进制形式打开文件‘rb‘
f = open(C:\\Users\\Administrator\\Desktop\\Python\\f.txt,mode=rb)
content = f.read()
print(content)
f.close()#b‘\xe4\xb8\xad\xe5\x9b\xbd\xe6\x98\xaf\xe4\xb8\xaa\xe4\xbc\x9f\xe5\xa4\xa7\xe7\x9a\x84\xe5\x9b\xbd\xe5\xae\xb6\xe3\x80\x82‘


‘‘‘
‘C:\\Users\\Administrator\\Desktop\\Python\\f.txt‘:路径(不能用‘\‘!可以用‘\\‘或‘/‘)
mode:定义操作方式.
encoding:声明,此次打开文件使用什么编码本。一般来说:你的文件用什么编码保存的,就用什么方法打开,一般都是用utf-8(有些使用的是gbk).
f.read():操作文件,比如读文件,给文件写内容,等等,都必须通过文件句柄进行操作.
f.close():关闭文件.
‘‘‘

2、只写文件

 

#对于w:没有此文件就会创建文件。
f = open(C:\\Users\\Administrator\\Desktop\\Python\\t.txt,mode = w,encoding= utf-8)
f.write(‘寂*凉‘)
f.close()#寂*凉


#若有此文件,先将源文件全部清除,再写。
f = open(C:\\Users\\Administrator\\Desktop\\Python\\t.txt,mode = w,encoding= utf-8)
f.write(‘5月9号‘)
f.close()#5月9号

#wb:以二进制写入,需用encode()转换
f = open(‘C:\\Users\\Administrator\\Desktop\\Python\\t.txt‘,mode = ‘wb‘)
f.write(‘5月9号‘.encode(‘utf-8‘))
f.close()

#‘a‘:追加写
f = open(‘C:\\Users\\Administrator\\Desktop\\Python\\t.txt‘,mode = ‘a‘,encoding= ‘utf-8‘)
f.write(‘21度‘)
f.close()#5月9号21度

#‘ab‘:以二进制追加写
f = open(‘C:\\Users\\Administrator\\Desktop\\Python\\t.txt‘,mode = ‘ab‘)
f.write(‘适中‘.encode(‘utf-8‘))
f.close()#5月9号21度适中


 

 3、读写

#‘r+‘读写
f = open(C:\\Users\\Administrator\\Desktop\\Python\\t.txt,mode = r+,encoding =utf-8)
print(f.read())#5月9号21度适中
f.write(5月9日)
f.close()

注意:如果在读写模式下,先写后读,那么文件就会出问题,因为默认光标是在文件的最开始,要是先写,则写入的内容会讲原内容覆盖掉,直到覆盖到写完的内容,然后在后面开始读取。

 

 4、光标控制:seek

  seek(n)光标移动到n位置,注意: 移动单位是byte,所有如果是utf-8的中文部分要是3的倍数
移动到开头:seek(0)
移动到结尾:seek(0,2) seek的第二个参数表示的是从哪个位置进行偏移,默认是0,表示开头,1表示当前位置,2表示结尾
f = open(C:\\Users\\Administrator\\Desktop\\Python\\f.txt,mode=r+,encoding=utf-8)
f.seek(0) # 光标移动到开头
content = f.read()# 读取内容, 此时光标移动到结尾
print(content)#中国是个伟大的国家。
f.seek(0) # 再次将光标移动到开头
f.seek(0,2) # 将光标移动到结尾
content1 = f.read()# 读取内容. 什么都没有
print(content1)#   
f.seek(0)
f.write(确实)
content2 = f.read()# 写入信息. 此时光标在6 中文2 * 3个 = 6
print(content2)#是个伟大的国家。
f.close()

 5、功能详解

#(确实是个伟大的国家。)
#read(n):读出的字符数
f = open(C:\\Users\\Administrator\\Desktop\\Python\\f.txt,mode=r+,encoding=utf-8)
content = f.read(3)
print(content)#确实是
f.close()


#seek(n):按照字节定光标的位置
f = open(C:\\Users\\Administrator\\Desktop\\Python\\f.txt,mode=r+,encoding=utf-8)#(确实是个伟大的国家。)
f.seek(3)
content = f.read()
print(content)#实是个伟大的国家。
f.close()


#tell():获取当前光标的位置
# f = open(‘C:\\Users\\Administrator\\Desktop\\Python\\f.txt‘,mode=‘r+‘,encoding=‘utf-8‘)
f.seek(3)
print(f.tell())#3
f.close()

f = open(C:\\Users\\Administrator\\Desktop\\Python\\f.txt,mode=a+,encoding=utf-8)
f.write(真的)
count = f.tell()
f.seek(count-6)
print(f.read())#真的
f.close()


#readline:一行一行读
f = open(C:\\Users\\Administrator\\Desktop\\Python\\f.txt,mode=r+,encoding=utf-8)
print(f.readline())
f.close()


#readlines:每一行当成列表中的一个元素,添加到list中
f = open(C:\\Users\\Administrator\\Desktop\\Python\\f.txt,mode=r+,encoding=utf-8)
count = f.readlines()
for i in count:
    print(i.strip())
f.close()

 

6、打开文件另一种方式with open

优点:(1):用with上下文管理这种方式,它会自动关闭文件句柄。

(2):一个with 语句可以操作多个文件,产生多个文件句柄。

with open(C:\\Users\\Administrator\\Desktop\\Python\\f.txt,mode=r+,encoding=utf-8) as f,        open(C:\\Users\\Administrator\\Desktop\\Python\\t.txt,mode=r+,encoding=utf-8) as f1:
    print(f.read())
    print(f1.read())

 

python 基础知识6-文件操作

标签:路径   desktop   国家   声明   python   adl   操作文件   font   时光   

原文地址:https://www.cnblogs.com/2584808136-qq-com/p/12861411.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!