何为文件句柄??_窗口句柄是什么意思

2022-11-10 16:21:44 浏览数 (1)

一、 百度百科解释:

在文件I/O中,要从一个文件读取数据,应用程序首先要调用操作系统函数并传送文件名,并选一个到该文件的路径来打开文件。该函数取回一个顺序号,即文件句柄(file handle),该文件句柄对于打开的文件是唯一的识别依据。要从文件中读取一块数据,应用程序需要调用函数ReadFile,并将文件句柄在内存中的地址和要拷贝的字节数传送给操作系统。当完成任务后,再通过调用系统函数来关闭该文件。

一个句柄就是你给一个文件,设备,套接字(socket)或管道的一个名字, 以便帮助你记住你正处理的名字, 并隐藏某些缓存等的复杂性

二、文件句柄和文件描述符

在我们日常编程中经常会遇到文件描述符(file descriptor)和文件句柄(file handler)这两个概念,特别是需要开发跨平台(跨windows和linux)项目的时候会被这两个概念搞得很头痛,所以下面来说说它们是什么东西及它们的区别与联系。参考博客

python文件管理

一.文件处理流程

1,打开文件,得到文件句柄并赋值给一个变量 2,通过句柄对文件进行操作 3,关闭文件

二.基本操作

打开模式 文件句柄 = open(‘文件路径’, ‘模式’, 指定编码) 打开文件的模式有: r ,只读模式【默认模式,文件必须存在,不存在则报错】 w,只写模式【不可读;不存在则创建;存在则清空内容】 x, 只写模式【不可读;不存在则创建,存在则报错】 a, 追加模式【可读;不存在则创建;存在则只追加内容】 “ ” 表示可以同时读写某个文件 r , 读写【可读,可写】 w ,写读【可读,可写】 x ,写读【可读,可写】 a , 写读【可读,可写】 “b”表示以字节的方式操作 rb 或 r b wb 或 w b xb 或 w b ab 或 a b 注:以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型,不能指定编码 操作 (1)读 1、f.read() #按字符读文件 2、f.readline() #按行读文件 3、f.readlines() #按行读所有文件内容 (2)写 f.write() #在当前光标后开始写文件 (3)刷到硬盘

f.flush() #立即刷到硬盘

(4)关闭文件

f.close() #关闭文件

(5)光标移动

f.read() #按字符读取问价,光标按字符移动 f.seek() #按字节读取文件,光标按字节移动; f.seek( ,whence) #whence默认为0,代表从文件开头开始算起,1代表从当前位置开始算起,2代表从文件末尾算起。 f.truncate() #默认从当前光标位置截断,后面内容删除,可传入参数,指该字节处截断 f.tell() #获取文件当前位置

(6)上下文管理

with open(‘文件路径’, ‘模式’) as f: #执行完操作后自动删除f pass

(7)扩展 复制图片(视频)文件:

read_file = open(‘a.jpg’,’rb’) write_file = open(‘a.copy.jpg’ , ‘wb’) write_file.write(read_file.read()) read_file.close() write_file.close()

文件修改:

import os os.remove(‘a.txt’) #删除a.txt文件 os.rename(‘.a.txt.swp’, ‘a.txt’) #重命名.a.txt.swp文件为a.txt

参考博客

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/184079.html原文链接:https://javaforall.cn

0 人点赞