python文件操作

文件操作主要有三步:

1.获取文件路径

2.打开文件

3.关闭文件

其中文件的路径很重要,如若路径不正确将会出现异常。

#文件操作(注意:最好把读写操作分开,即分别用w和r模式操作文件,)
import os
file = os.path.join(os.path.dirname(__file__),'1.py')#文件(需要包含路径才能正常操作文件)
with open(file,'a+') as f:
    # f.truncate(0)#清空文件内容
    for i in xrange(8):
        f.write(str(i))
    # f.seek(3)#移动读取位置到3
    f.write('hello world')
    f.seek(5)#移动到位置5,位置是按索引来的,以0开始
    print u'seek移动后的当前位置:',f.tell()

    f.write('t')#由于文件是以a+模式(a表示追加模式,+表示读/写模式)打开,所以对文件进行写操作时,写入的东西将会追加到最后
    #此时f.seek(5)失灵

    print u'写操作后的当前位置:',f.tell()
    # print type(f.tell())

    f.seek(0)#移动到0位置,即开始的位置
    print f.read(5)#此时,读取的内容将会以追加的形式写入到文件中,使用f.seek(0)移动到0位置,则是正常读取,否则读取的内容会写入到文件中

    print f.read(2)#读取的字符(字节)的最大值为2,当读取的字符最大值大于被读取的文件的最大值时不会出现错误
    print f.tell()#返回当前文件的位置

结果:

seek移动后的当前位置: 5
写操作后的当前位置: 20
01234
56
7



#使用文件迭代器, 可以直接迭代文件
f = os.path.join(os.path.dirname(__file__),'file.txt')
for i in open(f):
    print i

结果:

01234567hello worldt

#使用fileinput实现懒惰行迭代

import fileinput
f = os.path.join(os.path.dirname(__file__),'file.txt')
for i in fileinput.input(f):
    print i
结果:

01234567hello worldt



复制文件可以使用shutil模块的copyfile函数

#使用shutil模块的copyfile函数复制文件
import shutil
shutil.copyfile('file.txt','file2.txt')#复制file.txt文件到file2.txt,若file2.txt不存在,不会引发异常,会创建文件


删除文件,使用os模块的remove函数

#删除文件
import os
os.remove('file.txt')



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值