Python文件操作案例

文件操作案例

#-*- coding:utf-8 -*-

import os

#此文件是给file的使用一个范例:
#首先,我们需要熟记file的三种模式:r+,w+.a+
#其次,如果需要同时使用读写功能,记住光标的位置,例如在写入后,光标是放在了文件的最后面,这个时候执行read是返回为None的,因为已经是最后了

def fileDeal():
    #创建一个文件
    data = open("file.txt","w+")
    #写入内容
    data.write("begin:\n")
    num = ['test', 125, 'hello world', '文档内容','red', 'file model']
    for i in num:
        data.write(str(i)+"\n")
    data.write("The end.")
    #tell()可以告诉我们现在光标所在的字节数
    position = data.tell()
    print "如今光标在:",position
    #seek(offset [,from])方法改变当前文件的位置。Offset变量表示要移动的字节数。From变量指定开始移动字节的参考位置。
    # 如果from被设为0,这意味着将文件的开头作为移动字节的参考位置;
    # 如果设为1,则使用当前的位置作为参考位置;
    # 如果它被设为2,那么该文件的末尾将作为参考位置。
    #重新定位到开头
    data.seek(0,0)
    #read(count),count可以指定光标在多少字节数后
    dt = data.read()
    print "file.txt文档内容为:"
    print dt
    data.close()
    print "#"*100
    print

def fileAdd():
    #如何在已经存在数据的文件上追加内容,使用a+模式
    data = open("file.txt","a+")
    #文件data 的名字用data.name表示
    name = data.name
    #如果在已经存在内容的文件中直接调用write函数,则在文档后追加内容
    data.write("There're not the end, if we don't give up. ")
    #重新定位光标到开头,之后的read才能将文档内容从头读取,否则读取的内容也是在光标之后,即内容为空
    data.seek(0,0)
    print data.read()
    data.close()
    return name

def fileRename(name,newname):
    #对文件重命名
    os.rename(name,newname)
    data = open(newname,"r+")
    print "*"*50
    data.read()
    print "name:",data.name
    print "所有操作完毕,删除文件!"
    data.close()
    #删除文件
    os.remove(newname)

if __name__ == "__main__":
    fileDeal()
    name  = fileAdd()
    fileRename(name,"Deletedfile.txt")

输出内容:

如今光标在: 64
file.txt文档内容为:
begin:
test
125
hello world
文档内容
red
file model
The end.
####################################################################################################

begin:
test
125
hello world
文档内容
red
file model
The end.There're not the end, if we don't give up. 
**************************************************
name: Deletedfile.txt
所有操作完毕,删除文件!

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值