Python文件操作及相关概念

文件操作

1.文件读写:打开文件、读写文件、关闭文件
2.打开函数open(filename,mode).mode有r,w,a,r+,w+,a+;rb,wb,ab,rb+,wb+,ab+12种。
练习:编写一个文件拷贝程序,从终端输入一个文件,将文件保存在当前目录下。

def copy_file(filename,new_filename):
    fd2 = open(new_filename, "wb")
    try:
        fd = open(filename,"rb")
    except Exception as e:
        print(e)
    for line in fd:
        fd2.write(line)
    fd.close()
    fd2.close()

编写一个程序,向一个文件中写入如下内容:
1.2009-1-1 18:18:18
2.2009-1-1 18:19:18
每隔一秒写入一次

import time,datetime
fd = open("test","w")
num = 1
while True:
    dt =datetime.datetime.fromtimestamp(time.time())
    fd.writelines("%s.%s\n"%(str(num),dt.strftime("%Y-%m-%d %H:%M:%S")))
    time.sleep(1)
    num += 1
    if num == 10:
        break
fd.close

缓冲区buffer

缓冲刷新的条件:
1.缓冲区满了
2.行缓冲换行时会自动刷新
3.程序正常运行结束或文件close关闭时会自动刷新
4.flush()函数调用时

文件偏移量:系统自动记录每次操作文件生成的一个记录,其中每次操作文件到的位置。

文件的读写操作都是从文件偏移量这个位置开始的。 以下代码就是因为文件偏移量的原因什么都没有显示。

f = open("test","w+")
f.write("hello world!")
f.flush()
data = f.read()
print(data)
f.close()

1.tell():获取文件偏移量的大小,也就是目前文件偏移到了什么位置。
2.seek(offset,[whence]):移动文件偏移量。

offset:相对于某个位置移动的字节数。负数向前,正数向后。
whence默认值为0,代表从开头算起,1代表从当前位置算起,2代表从文件末尾算起。
注意:a).每次open打开文件时文件偏移量都在开头。
b).以a的方式打开的文件,文件偏移量在末尾。
c).读写操作共用一个文件偏移量的。

空洞文件:以下代码就是写入了一个1G+8个字节的空文件。

f = open("test02","wb")
f.write(b"start")
f.seek(1024*1024*1024,2)
f.write(b"end")
f.close()

文件描述符:系统中每一次文件操作都会分配一个整数作为编号,该整数即这个IO操作的文件描述符。

获取文件描述符可以通过:fileno()
文件管理函数:
os.path.getsize(file):获取文件大小
os.path.listdir(dir):查看文件列表
os.path.exists(file):查看文件是否存在
os.path.isfile(file):判断文件是否为普通文件
os.remove(file):删除文件

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值