使用for循环遍历文件、使用while循环遍历文件

简介:

使用for循环遍历文件

使用for循环遍历文件、使用while循环遍历文件

1、打开文件读
打开文件,从头到尾读完后,再执行read()就没有了

使用for循环遍历文件、使用while循环遍历文件

关闭后就不能读
使用for循环遍历文件、使用while循环遍历文件

readlines()和readline()区别:
readline() :一行一行读取,返回字符串,当指针到文件末尾后,返回空
readlines():整个内容都输出,再输入,返回空
fd.next(): 和readline() 差不多,不过读完最后一行,返回报错

使用for循环遍历文件、使用while循环遍历文件

使用for循环遍历文件、使用while循环遍历文件

2、打开文件写
f = open('/tmp/123.txt','w') #当执行这句话后,文件立刻被清空
f.write('456') #写入456,此刻123.txt文件还没有写入内容,只有当文件关闭才会写入
f.close() #此刻写入
比如要关闭文件。如果不关闭,导致内容无法写入

3、追加模式(a),没有读的权限,只有追加的权限

使用for循环遍历文件、使用while循环遍历文件

4、[root@centos7-3 python]# cat file1.py

#!/usr/bin/env python
fd = open('/tmp/123.txt')
for line in fd:
    print line,

**注意:这里for line in fd,其实可以从fd.readlines()中读取,但是如果文件很大,那么就会一次性读取到内存中,非常占内存,而这里fd存储的是对象,只有我们读取一行,它才会把这行读取到内存中,建议使用这种方法。**

使用while循环遍历文件

1、
with open('123.txt') as fd:
while True:
line=fd.readline()
if not line:
break
print line,
2、with open('123.txt','w+') as fd:
fd.write('123123\n123123')

3、计算内存大小
startswith():以什么开头的行列出来
使用for循环遍历文件、使用while循环遍历文件

.split():以什么分隔符分割,默认是空格
使用for循环遍历文件、使用while循环遍历文件
In [66]: with open('/proc/meminfo') as fd:
...: for line in fd:
...: if line.startswith('MemTotal'):
...: total=line.split()[1]
...: continue
...: if line.startswith('MemFree'):
...: free=line.split()[1]
...: break
...: print "%.2f" %(int(free)/1024.0) + 'M'
...: 
...: 
...: 
1460.55M

练习1:
\n:表示换行符

  1. 现有一个文件test.txt ,内容如下:
    1234efgh
    abcd5678
    要求读出文件内容,对内容的顺序进行编辑,然后重新写入到文件,使其为如下形式
    12345678
    abcdefgh

In [1]: with open('test.txt','w') as fd:
...: fd.write('12345678\nabcdefgh\n')












本文转自方向对了,就不怕路远了!51CTO博客,原文链接:http://blog.51cto.com/jacksoner/2055606 ,如需转载请自行联系原作者


相关文章
|
3月前
for循环嵌套for循环与递归的区别
for循环嵌套for循环与递归的区别
|
3月前
|
编译器 索引
for循环和while循环
for循环和while循环
|
4月前
|
Java 大数据 数据处理
获取到数据循环写文件
这段代码是一个Java方法,用于分批处理数据。它定义了初始值和每批处理的数量,然后通过`PageInfo`对象获取数据。如果总数小于1,则直接返回空列表。否则,循环处理数据,防止环境中的多次空跳过,并在处理完一批数据后更新页码。代码中还提到,这个过程可以用于减少大数据操作带来的风险。此外,配有一张动图,可能表示数据处理的过程。
38 1
|
4月前
|
C#
C# 循环遍历使用
C# 循环遍历使用
150 0
|
11月前
循环遍历的基本用法
循环遍历的基本用法
75 0
|
存储 Java 测试技术
打印不重复的字符串全排列(递归)
本文将详细解析在生成不重复的字符串全排列时使用的Java代码。首先,我们将展示一个常规的全排列生成方法,然后介绍如何通过使用HashSet来跳过已经尝试过的字符,从而避免生成重复的全排列。最后,我们提供了一道相关的编程题目以供练习。
109 0
打印不重复的字符串全排列(递归)
|
文件存储
ModelBuilder中的For循环和While循环
鸽了这么久了的ModelBuilder教程,开始恢复更新了,嘤嘤嘤 现在开始讲迭代器,迭代是指以一定的自动化程度多次重复某个过程,通常又称为循环。说的通俗点就是批量循环处理,简称批处理。
116 0
for循环写入100条数据到文件中 1.获取文件对象 2.for循环 100次 3.每次都要想文件中写入内容
for循环写入100条数据到文件中 1.获取文件对象 2.for循环 100次 3.每次都要想文件中写入内容
|
Python
使用for循环遍历文件
使用 Python 访问文件,首先得先打开文件,在 Python 下打开文件可以使用 open 内置函数 open r——以只读方式打开w——以写的方式打开a——以追加模式打开r+——以读写模式打开w+——以读写模式打开(参见w)a+——以读写模式打开(参见a)rb——以二进制读模式打...
1128 0