python如何读取文件|python 读取文件怎么打开

python如何读取文件|python 读取文件怎么打开的第1张示图

『壹』 python怎么读取TXT

Python的文本处理是经常碰到的一个问题,Python的文本文件的内容读取中,有三类方法:read()、readline()、readlines(),这三种方法各有利弊,下面逐一介绍其使用方法和利弊。

read():

read()是最简单的一种方法,一次性读取文件的所有内容放在一个大字符串中,即存在内存中

file_object = open('test.txt') //不要把open放在try中,以防止打开失败,那么就不用关闭了try:file_context = file_object.read() //file_context是一个string,读取完后,就失去了对test.txt的文件引用# file_context = open(file).read().splitlines()// file_context是一个list,每行文本内容是list中的一个元素finally:file_object.close()//除了以上方法,也可用with、contextlib都可以打开文件,且自动关闭文件,//以防止打开的文件对象未关闭而占用内存

read()的利端:

方便、简单

一次性独读出文件放在一个大字符串中,速度最快

read()的弊端:

文件过大的时候,占用内存会过大

readline():

readline()逐行读取文本,结果是一个list

with open(file) as f: line = f.readline() while line:print lineline = f.readline()

readline()的利端:

占用内存小,逐行读取

readline()的弊端:

由于是逐行读取,速度比较慢

readlines():

**readlines()一次性读取文本的所有内容,结果是一个list

with open(file) as f: for line in f.readlines():print line

这种方法读取的文本内容,每行文本末尾都会带一个''换行符 (可以使用L.rstrip('')去掉换行符)

readlines()的利端:

一次性读取文本内容,速度比较快

readlines()的弊端:

随着文本的增大,占用内存会越来越多

最简单、最快速的逐行处理文本的方法:直接for循环文件对象

file_object = open('test.txt','rU')try: for line in file_object: do_somthing_with(line)//line带""finally: file_object.close()

『贰』 python 读取文件,怎么打开

我们需要新建一个文本文档,这个文档可以是windox自带的记事本;

『叁』 python中怎么读取文件内容

用open命令打开你要读取的文件,返回一个文件对象然后在这个对象上执行read,readlines,readline等命令读取文件或使用for循环自动按行读取文件

『肆』 python怎么读取txt文件

可以看一下简单的pyhton文件操作,给出一个最简单的例子

只读方式打开回文件答test.json(这里可以写文件的绝对路径,相对路径,同目录下只写文件名即可),并逐行输出,最后关闭

f=open('test.json','r')forlineinf:printlinef.close()

『伍』 Python如何读写文本文件

1.open使用open打开文件后一定要记得调用文件对象的close()方法。比如可以用try/finally语句来确保最后能关闭文件。 file_object = open('thefile.txt') try: all_the_text = file_object.read( ) finally: file_object.close( ) 注:不能把open语句放在try块里,因为当打开文件出现异常时,文件对象file_object无法执行close()方法。 2.读文件读文本文件input = open('data', 'r') #第二个参数默认为r input = open('data') 读二进制文件input = open('data', 'rb') 读取所有内容file_object = open('thefile.txt') try: all_the_text = file_object.read( ) finally: file_object.close( ) 读固定字节file_object = open('abinfile', 'rb') try: while True: chunk = file_object.read(100) if not chunk: break do_something_with(chunk) finally: file_object.close( ) 读每行list_of_all_the_lines = file_object.readlines( ) 如果文件是文本文件,还可以直接遍历文件对象获取每行: for line in file_object: process line 3.写文件写文本文件output = open('data.txt', 'w') 写二进制文件output = open('data.txt', 'wb') 追加写文件output = open('data.txt', 'a') output .write("\n都有是好人") output .close( ) 写数据file_object = open('thefile.txt', 'w') file_object.write(all_the_text) file_object.close( )

『陆』 Python如何从文件读取数据

1.1 读取整个文件

要读取文件,需要一个包含几行文本的文件(文件PI_DESC.txt与file_reader.py在同一目录下)

PI_DESC.txt

3.1415926535897932384626433832795028841971

file_reader.py

with open("PI_DESC.txt") as file_object:contents = file_object.read()print(contents)

我们可以看出,读取文件时,并没有使用colse()方法,那么未妥善的关闭文件,会不会导致文件收到损坏呢?在这里是不会的,因为我们在open()方法前边引入了关键字with,该关键字的作用是:在不需要访问文件后将其关闭

1.2文件路径

程序在读取文本文件的时候,如果不给定路径,那么它会先在当前目录下进行检索,有时候我们需要读取其他文件夹中的路径,例如:

『柒』 python怎么读取文件夹内容

#encoding:utf-8importos#设置文件夹所抄在路径,我这袭里设置哦当前路径path='./'#列出路径下所有的一级目录+文件files=os.listdir(path)printfiles#利用递归,列出目录下包括子目录所有的文件及文件夹(但是没有分级,如果需要分级,自己写吧)files1=[]deflistfiles(path):foriinos.listdir(path):ifos.path.isdir(path+i):files1.append(i)listfiles(path+i)else:files1.append(i)listfiles(path)printfiles1

『捌』 python 读取文件

#!/usr/bin/python2.7import random,ref0=file('proxys.txt','r')dat0=f0.readlines()f0.close()#提取抄含有$1sec的行(我理解你想按sec的大小排序。)dat1=[]for i in dat0: dat1.append((i,re.search(r'\$(\d+)sec',i).group(1)))#现在dat1里面的数据是在原来的每一行前面加了一列sec的值。dat2=[]for i in dat1: if i[0]==1: dat2.append(i[1])#现在取出了所有sec==1的行,随机取一行dat3=random.choice(dat2)c1=re.search(r'((\d{1,3}\.?){4}):(\d+)',dat3).group(1)c2=re.search(r'((\d{1,3}\.?){4}):(\d+)',dat3).group(3)

『玖』 怎么读取整个文件 python

Python 读写文本文件首先需要注意的是,txt文件是具有字符编码的,不内同的txt字符编码可能不同。具体容是什么编码,可以用 notepad++ 等文本编辑器查看。读取文件建议使用 with…as… 结构,可以自动关闭文件。with open("text.txt", "r") as f:text = f.read()print(text)如果不用 with…as… 则必须手动关闭文件:f = open("text.txt", "r")text = f.read()f.close()print(text)如果读取的文件含有中文,使用内置的open可能会报错,这个时候要用到codecs模块:import codecswith codecs.open("text.txt", "r", encoding="utf-8") as f:text = f.read()print(text)(假设 text.txt 是 utf-8 编码)

未经允许不得转载:山九号 » python如何读取文件|python 读取文件怎么打开

赞 (0)