python-13:文件操作 之二

一、文件操作的常用方法:

1、read():从光标位置开始读取整个文件剩下的内容,注意是从光标位置开始,不一定是读取整个文件。

#第一次读取:
f=open(‘test.txt‘,‘r‘)
print(f.read())
f.close()
#自恐多情损梵行,入山又怕误倾城.世间安得双全法,不负如来不负卿.
 作者:仓央嘉措

#第二次读取
f=open(‘test.txt‘,‘r‘)
f.readline()
print(f.read())        #作者:仓央嘉措
f.close()

2、readline和readlines的区别:

#readline()只读取一行,然后光标移动到下一行
f=open(‘test.txt‘,‘r‘)
print(f.readline())       #自恐多情损梵行,入山又怕误倾城.世间安得双全法,不负如来不负卿.
print(f.readline())     #作者:仓央嘉措
f.close()

#readllines()读取整个文件,然后把每一行当成一个元素存成一个列表。注意每个元素后后带有换号符
f=open(‘test.txt‘,‘r‘)
print(f.readlines())   #[‘自恐多情损梵行,入山又怕误倾城.世间安得双全法,不负如来不负卿.\n‘, ‘作者:仓央嘉措\n‘]
f.close()

#最后说明一点:readlines是把整个文件都一次性读写到内存中,如果文件小还好,一旦文件大了,会要命。文件大可以使用下面这种方法来读写:
with open(‘test.txt‘,‘r‘) as f:
    for line in f:
        print(line.strip())

#这样读写的好处就是一行一行读,并且读完就释放,完全不占用内存。

3、write,writelines

f.write(‘1111\n222\n‘) #针对文本模式的写,需要自己写换行符
f.write(‘1111\n222\n‘.encode(‘utf-8‘)) #针对b模式的写,需要自己写换行符
f.writelines([‘333\n‘,‘444\n‘]) #文件模式
f.writelines([bytes(‘333\n‘,encoding=‘utf-8‘),‘444\n‘.encode(‘utf-8‘)]) #b模式

4、其他方法:

f.readable() #文件是否可读
f.writable() #文件是否可读
f.closed #文件是否关闭
f.encoding #如果文件打开模式为b,则没有该属性
f.flush() #立刻将文件内容从内存刷到硬盘
f.name   #文件名

二、文件光标的移动:

1、read(n)当文件打开方式为文本模式时,代表读取n个字符,文件打开方式为b模式时,代表读取n个字节

#1、以文本模式读取
with open(‘test.txt‘,‘r‘) as f:
    print(f.read(4))   #自恐多情

#2、以字节模式读取:
with open(‘test.txt‘,‘rb‘) as f:
    print(f.read(4).decode(‘gbk‘))         #自恐
#直接输出:print(f.read()) 输出为  b‘\xd7\xd4\xbf\xd6‘

2、tell()  获取当前文件指针所在的位置,没参数。以字节方式计算返回

with open(‘test.txt‘,‘r‘) as f:
    print(f.read(4)) #自恐多情
    print(f.tell())   #8

3、seek() 作用:用于移动文件读写指针到指定位置。

#函数的原型是:file.seek(offset,whence=0)
offset是指偏移量,whence有三个值,0,1,2。0代表移动到文件开头,1,指当前位置,2指文件末尾。 缺省则使用默认值0.
#注意:使用参数1,2必须在字节模式b下打开文件!

with open(‘test.txt‘,‘r‘) as f:
    print(f.read(4)) #自恐多情
    print(f.tell())   #8
    f.seek(0,0)      #返回开头
    print(f.read(4))      #自恐多情

with open(‘test.txt‘,‘rb‘) as f:
    print(f.read(4).decode(‘gbk‘)) #自恐
    f.seek(-4,1)
    print(f.read(4).decode(‘gbk‘))  # 自恐

with open(‘test.txt‘,‘rb‘) as f:
    f.seek(-4,2)
    print(f.read(4).decode(‘gbk‘))   #嘉措

二、文件的修改:

  实际上我们平时说得修好某个文件的某个地方,实际是本质上并不是直接修改文件,而是覆盖。文件的数据是存放于硬盘上的,因而只存在覆盖、不存在修改这么一说,我们平时看到的修改文件,都是模拟出来的效果,我们可以用下面的代码来模拟这过程。

import  os
with open(‘test.txt‘,‘r‘) as f ,open(‘test_1.txt‘,‘w‘) as f1:
    for line in f:
        line=line.replace(‘自恐多情损梵行,入山又怕误倾城.世间安得双全法,不负如来不负卿.‘,                          ‘不恐多情损梵行, 唯恐入山误倾城.世间安得双全法,宁负如来不负卿.‘)
        line=line.replace(‘仓央嘉措‘,‘哟,写bug呢??‘)
        f1.write(line)

os.remove(‘test.txt‘)
os.rename(‘test_1.txt‘,‘test.txt‘)

原文地址:https://www.cnblogs.com/Zhouzg-2018/p/9775578.html

时间: 10-11

python-13:文件操作 之二的相关文章

python之文件操作-复制、剪切、删除等

下面是把sourceDir文件夹下的以.JPG结尾的文件全部复制到targetDir文件夹下: <span style="font-size:18px;">>>>import os >>> import os.path >>> import shutil >>> def copyFiles(sourceDir,targetDir): for files in os.listdir(sourceDir):

C语言文件操作(二)

实例2:读取字符文件,每次读入一个缓存里面. #include<stdio.h> #include <stdlib.h> #define MAXLEN 1024 int main() { FILE *fin; FILE *fout=fopen("c:\\dest.txt","wt"); char buf[MAXLEN]; if((fin=fopen("c:\\test.txt","rt"))!=NULL

python 文件操作(二)

一. 文件的读写 1.找到文件 文件路径:./test.py 2.打开文件 open('文件路径','模式') 模式: r,   以只读的方式打开 w,  打开一个文件只用于写入,如文件已存在,直接重写 a,   打开一个文件用于追加模式 w+,打开一个文件用于读写 file() 3.文件操作(读写) read()  #所有文件读入内存 readlines() #以行为元素的列表 write() #写入文件 writeline() #写入一行文件 4.关闭文件 close()

Python中文件操作

一.文件打开操作 1.文件操作步骤: (1)打开文件模式: f =open("db",'a')    #文件追加 f = open("db",'r')    #只读操作(默认模式) f = open("db",'w')    #只写操作,会先清空原文件 f = open("db",'x')    #文件存在,会报错,不存在创建并只写 f = open("db",'rx|a|w')  #以二进制的方式只读或只

[python拾遗]文件操作

文件操作 1.open()函数 open()函数主要用于文件处理,一般分为下面3个过程: 1.打开文件 2.操作文件 3.关闭文件 常见的格式示例: f = open('note.txt','r') f.read() f.close() 1.打开文件 文件句柄 = open('文件路径','模式') 常见的模式有: 1.‘r’,只读 2.‘w’,只写(当对打开执行只写操作后,文件原内容将会被清空,注意备份) 3.‘a’,追加 "+" 表示可以同时读写某个文件 1.‘r+’ 2.‘w+’

python(五)文件操作

1.打开文件 f = open('db','r')   #只读 f = open('db','w')   #只写,先清空原文件 f = open('db','x')   #文件存在,报错,不存在,创建并只写 f = open('db','a')   #追加 所有后边加b的,都是以字节的方式打开文件,不需要python帮助转换成字符串类型.如:ab.rb.wb.xb f = open("db","ab") #当以字节的方式打开时,往文件中写入的时候也要用写入字节,写字

课堂笔记:Python基础-文件操作

对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 现有文件如下: 昨夜寒蛩不住鸣. 惊回千里梦,已三更. 起来独自绕阶行. 人悄悄,帘外月胧明. 白首为功名,旧山松竹老,阻归程. 欲将心事付瑶琴. 知音少,弦断有谁听. f = open('小重山') #打开文件 data=f.read()#获取文件内容 f.close() #关闭文件 注意 :在Windows系统中,hello文件是utf8保存的,打开文件时open函数是通过操作系统打开的文件,而win操

Python基础-文件操作

1. 文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 语法 open(filename, mode) 实例 2. 文件打开模式 r,只读模式(默认). w,只写模式.[不可读:不存在则创建:存在则删除内容:] a,追加模式.[可读:   不存在则创建:存在则只追加内容:] "+" 表示可以同时读写某个文件 r+,可读写文件.[可读:可写:可追加] w+,写读 a+,同a "U"表示在读取时,可以将 \r \n \r\n自动转换

Python学习-文件操作

打开和关闭文件: Python 提供了必要的函数和方法进行默认情况下的文件基本操作. open 函数 你必须先用Python内置的open()函数打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写. 语法: file object = open(file_name [, access_mode][, buffering]) 各个参数的细节如下: ①file_name:file_name变量是一个包含了你要访问的文件名称的字符串值. ②access_mode:access_mode

Python:文件操作总结1——文件基本操作

一.文件的操作流程 1.打开文件,得到文件句柄并赋值给一个变量 2.通过句柄对文件进行操作 3.关闭文件 二.文件的打开与关闭 A.文件的打开--open函数 语法:open(file[,mode[,buffering[,encoding[,errors[,newline[,closefd=True]]]]]]) [参数说明]: file--文件的位置+文件的名字,需要加引号 [注]:若不指明文件的位置,则默认其位于当前文件夹下 mode--文件的的打开模式 buffering--可以取0,1,