Python-循环遍历文件

python中打开文件需要使用内置函数open

格式:

  open(name[,mode[,buffering]])
  启动mode和buffering 是可选的,默认情况下mode是r
 

mode:

  r:以读方式打开
  w:以写方式打开 (文件不存在会创建,存在的话,会清空文件,很危险)
  a:以追加的方式打开
  r+:以读写模式打开
  w+:以读写模式打开
  a+:以读写模式打开
  rb:以二进制读模式打开(特殊文件需要用文本模式传输的话,建议使用b)
  wb:以二进制写模式打开
  ab:以二进制追加模式打开
 
 

方法:

  fd = open('/tmp/test.txt','r')
  以读模式打开,可以利用一个变量去接收,注意这个变量是一个文件对象
 
  fd.close()
  关闭打开的文件,(修改等操作,只有关闭了文件,才会生效)
 
  fd.write("123")
  写入(需要写模式),注意写入的内容必须是一个字符串。
 
  fd.read(int)
  一次性读取文件所有内容,那么再次执行read()方法的时候,指针在末尾,所以就为空了。如果指定了int,那么就只读取int个字符
 
  fd.readline()
  一行一行读取,返回字符串,当指针到文件默认,返回空
 
  fd.readlines()
  一次读取所有行,并把每一个行当成一个元素,存储在序列中(如果文件很大,那么非常占内存)
 
  fd.next()
  第一读取一行,知道行尾,到行尾的时候会报错
 
 

练习:

  for 循环遍历文件: 打印文件的每一行
#!/usr/bin/env python
fd = open('/tmp/hello.txt')
  for line in fd:
    print line,
 
注意:这里for line in fd,其实可以从fd.readlines()中读取,但是如果文件很大,那么就会一次性读取到内存中,非常占内存,而这里fd存储的是对象,只有我们读取一行,它才会把这行读取到内存中,建议使用这种方法。
 
  while循环遍历文件:
复制代码
#!/usr/bin/env python
fd = open('/tmp/hello.txt')
while True:
  line = fd.readline()
  if not line:
    break
   else:
    print line,
fd.close()
复制代码
 

扩展:

    如果不想每次打开文件都关闭,可以使用with关键字,2.6以上版本支持with读取 with open('/tmp/hello.txt') as fd: 然后所有打开文件的操作都需要缩进,包含在with下才行
复制代码
with open('/tmp/hello.txt') as fd:
while True:
  line = fd.readline()
  if not line:
    break
    
else:
     print line,
复制代码

 

所有巧合的是要么是上天注定要么是一个人偷偷的在努力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

安果移不动

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值