当前位置:首页 » 编程语言 » python文件读取一行

python文件读取一行

发布时间: 2022-08-30 10:08:31

1. python如何随机读取一行

#!/usr/bin/envpython
#coding:utf-8

defgetfilelines(filename,eol=' ',buffsize=4096):
"""计算给定文件有多少行"""
withopen(filename,'rb')ashandle:
linenum=0
buffer=handle.read(buffsize)
whilebuffer:
linenum+=buffer.count(eol)
buffer=handle.read(buffsize)
returnlinenum


defreadtline(filename,lineno,eol=" ",buffsize=4096):
"""读取文件的指定行"""
withopen(filename,'rb')ashandle:
readedlines=0
buffer=handle.read(buffsize)
whilebuffer:
thisblock=buffer.count(eol)
ifreadedlines<lineno<readedlines+thisblock:
#inthisblock:findthelinecontent,andreturnit
returnbuffer.split(eol)[lineno-readedlines-1]
eliflineno==readedlines+thisblock:
#needcontinuereadlinerestpart
part0=buffer.split(eol)[-1]
buffer=handle.read(buffsize)
part1=buffer.split(eol)[0]
returnpart0+part1
readedlines+=thisblock
buffer=handle.read(buffsize)
else:
raiseIndexError


defgetrandomline(filename):
"""读取文件的任意一行"""
importrandom
returnreadtline(
filename,
random.randint(0,getfilelines(filename)),
)


if__name__=="__main__":
importsys
importos
iflen(sys.argv)==1:
printgetrandomline("/home/tim/documents/users.csv")
else:
forfinfilter(os.path.isfile,sys.argv[1:]):
printgetrandomline(f)

对于超大文件建议用逐行或分块的方式处理;逐行处理可能慢一些,但编码更简单清晰一点;上面给出的是按分块方式处理的。

2. python对文件的读操作方法有哪些

摘要 1 文件读取全文本操作

3. python怎样实现一行一行读取文件数据,并且要实现读取一行数据,就进行条件判断

超简单

get='''12
15
16
19
23'''
result=get.split(' ')
foriinresult:
ifint(i)>16:
print(i)

满意还请采纳

4. python对文本文件的读有哪些方法,写有哪些方法

1 文件读取全文本操作
在一定场景下我们需要把文本全部内容读取出来,进行处理。python提供三种函数读取文件,分别是read readline readlines,
read():读取文件的全部内容,加上参数可以指定读取的字符。
readline():读取文件的一行。
readlines():读取文件的所有行到内存中。
不同场景下我们可以选择不同函数对文件进行读取。
1.1 方法一
file_name = input("请输入你要打开的文件的完整路径及名称")
file= open(file_name, "r")
txt=file.read()
# 全文本的处理
file.close()
使用read函数将文件中的内容全部读取,放在字符串变量txt中。这样操作适合于文本较小,处理简单的情况,当文件较大时,这种方式处理时不合适的。一次性读取较大的文件到内存中,会耗费较多的时间和资源。这时候分批处理效果更好。
1.2 方法二
file_name = input("请输入你要打开的文件的完整路径及名称")
file= open(file_name, "r")
txt= file.read(4)
# 文本的处理while txt != ""txt= file.read(4)
# 批量文本处理
file.close()
这种方法适合于分批处理文本信息,每次批量读入,批量处理,不会对内存造成较大的压力。
1.3 方法三
file_name = input("请输入你要打开的文件的完整路径及名称")
file= open(file_name, "r")for line infile.readlines():
# 处理每一行数据
file.close()
这种处理方式适合处理以行为分割特点的文本,并且文本较小,因为这种处理方式需要一次性把文件所有内容读取到内存中。
1.4 方法四
file_name = input("请输入你要打开的文件的完整路径及名称")
file= open(file_name, "r") # 这里的file时文件句柄for line infile:
# 处理每一行数据
file.close()
这种方式和方法三中的区别是分行读入,逐行处理,不会一次性把文件所有内容都读入到内存中,对一些大文件的处理是很有效的。
2 文件写入文本操作
文件写入有两种写入函数和一种辅助支持。
write():向文件中写入一个字符或者字节流
writelines():将一个元素全为字符串的列表写入到文件中 需要注意的是,writelines写入列表元素的时候会把列表元素的内容拼接到一起写入,不会有换行和空格 。
seek(): 辅助写入函数offset偏移量参数代表含义如下
0 - 文件开头
1 - 当前位置
2 - 文件结尾
2.1 方法一
file_name = input("output.txt", "w+")
text= "hello world!"file_name.write(text)
file.close()
2.2 方法二
file_name = input("output.txt", "w+")
list= ["中午","早上","晚上"]
file_name.writelines(list)for line infile:
# 读取写入的数据,这时候发现是没有任何内容的
file.close()
我们增加一行代码就可以读取到写入的文件内容,利用seek()函数调整写操作指针的位置,可以实现写操作之后的正常读取。
file_name = input("output.txt", "w+")
list= ["中午","早上","晚上"]
file_name.readlines(list)
file_name.seek(0) # 调整写的指针到文件的开始位置for line infile:
# 读取写入的数据,这时候会读出一行写入的数据。
file.close()

5. Python如何读取csv文件某一列的每一行数据,并判断该数值是否满足条件

读取csv文件,用的是csv.reader()这个方法。返回结果是一个_csv.reader的对象,我们可以对这个对象进行遍历,输出每一行,某一行,或某一列。代码如下:

6. python读取csv文件的某一行

1.全部读到成列表然后选取行(容易超时,乱码等问题)
2.利用迭代工具,代码如下:
from itertools import islice
with open('data.tsv', 'r') as f:
for line in islice(f, 1, None):
# process data
f.close()
修改islice函数中第2个参数n即可,表示读到f文件对象的第n行

7. 用python读取文本文件,对读出的每一行进行操作,这个怎么写

用python读取文本文件,对读出的每一行进行操作,写法如下:

f=open("test.txt","r")

whileTrue:

line=f.readline()

ifline:

pass#dosomethinghere

line=line.strip()

p=line.rfind('.')

filename=line[0:p]

print"create%s"%line

else:

break

f.close()

8. Python中怎么使用for来读取文件中每一行的内容和没一个字符呢

这个是读每行
如果你再加一层for
for c in line:
print(c)
那就是输出每个字符

9. Python按行读取文件的简单实现方法

Python按行读取文件的简单实现方法
下面小编就为大家带来一篇Python按行读取文件的简单实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。
1:readline()
file = open("sample.txt")
while 1:
line = file.readline()
if not line:
break
pass # do something
file.close()
一行一行得从文件读数据,显然比较慢;
不过很省内存;
测试读10M的sample.txt文件,每秒大约读32000行;
2:fileinput
import fileinput
for line in fileinput.input("sample.txt"):
pass
写法简单一些,不过测试以后发现每秒只能读13000行数据,效率比上一种方法慢了两倍多;
3:readlines()

file = open("sample.txt")
while 1:
lines = file.readlines(100000)
if not lines:
break
for line in lines:
pass # do something
file.close()
用同样的数据测试,它每秒可以读96900行数据!效率是第一种方法的3倍,第二种方法的7倍!
4:文件迭代器
每次只读取和显示一行,读取大文件时应该这样:
file = open("sample.txt")
for line in file:
pass # do something
file.close()
以上就是小编为大家带来的Python按行读取文件的简单实现方法全部内容了

10. Python程序,要求打开一个文本文件,从固定行开始读取一直读取某一匹配结果的前一行

实现此功能的代码如下:

f = open('xx.txt')

lines = f.readlines()

f.close()

l_list = lines[1:] #从第二行开始

for l in l_list:

if l.find('a') ==-1:

print l #在没有找到a之前一直打印

else:

break #如果找到,则跳出循环

(10)python文件读取一行扩展阅读:

用python读取文本文件,对读出的每一行进行操作的实现方式如下:

f=open("test.txt","r")

whileTrue:

line=f.readline()

ifline:

pass

line=line.strip()

p=line.rfind('.')

filename=line[0:p]

print"create%s"%line

else:

break

f.close()

热点内容
配置型基金如何分配 发布:2025-01-16 14:08:06 浏览:563
adbandroid版本 发布:2025-01-16 13:53:14 浏览:388
直链云存储 发布:2025-01-16 13:19:30 浏览:727
电脑主机服务器多少钱 发布:2025-01-16 13:00:28 浏览:668
linuxoracle操作 发布:2025-01-16 12:40:50 浏览:47
河北存储服务价格 发布:2025-01-16 12:39:21 浏览:351
挂机服务器的搭建 发布:2025-01-16 12:34:07 浏览:417
安卓怎么删除信任凭证 发布:2025-01-16 12:22:06 浏览:338
代理编译 发布:2025-01-16 12:07:59 浏览:794
服务器为什么老是无响应 发布:2025-01-16 12:07:59 浏览:894