以下是即将出版的一本书中的草稿,尚待完善,先发在这里权当回答。

————————————————————————————————

在Python中可以通过编码实现对文件的读写操作,然而必须清楚的是,程序对文件的读写功能实际是由操作系统提供的,因为普通程序不能直接操作磁盘。在执行文件操作时,Python会请求操作系统打开一个对象——这个对象通常被称作文件描述符(file descriptor,简称fd),其对应的就是后面要操作的文件对象——然后再通过操作系统提供的接口对该文件对象进行读取和写入数据的操作,即通常所说的“读取文件”和“写入文件”。

文件读写的操作步骤基本是这样的:打开文件——获取文件描述符。

读写文件——操作文件描述符。

关闭文件——关闭文件描述符。

也就是说,程序对文件的各种操作,其实是引用了系统返回的文件描述符。

在Python中,open()函数用于向操作系统请求返回一个文件对象,然后即可使用其他方法对文件对象进行数据的读取和写入等各种操作。

open()函数用于返回一个文件对象(File Object),最常与这两个参数一起使用:open(filename, mode)。例如:

>>> f = open('sample.txt', 'w')

其中第一个参数filename是一个用于指定要打开的文件名称的字符串,也可以指定路径。如果不指定文件所在的路径,Python会在当前文件夹中去寻找文件并打开。如果文件不能被打开,则会抛出OSError异常。

文件对象在Python中是一种path-like object(可翻译为类路径对象,或者不翻译直接用英文理解),即一种表示文件的系统路径的对象。它提供的是一个要被打开的文件的路径名称,可以是绝对路径或者相对于当前工作文件夹的路径,或者提供的是一个要被封装的文件描述符。

系统内核(kernel)使用文件描述符(file descriptor,简称fd)来访问文件,也就是说,实际上在使用open()函数打开现存文件时,内核返回的是一个文件描述符。读写文件时也需要使用文件描述符来指定要读写的文件。文件描述符在形式上是一个非负整数,实则是一个索引值。

(未完待续)

python中forward是什么意思_Python 中 fd 表示什么?相关推荐

  1. python中forward(200)什么意思_Python中的Phyllotaxis模式| 算法植物学的一个单位

    简介| 叶底 Phyllotaxis / phyllotaxy是植物茎上叶子的排列,Phyllotactic螺旋形成自然界中独特的一类模式.这个词本身来自希腊语phullon,意思是"叶子& ...

  2. Python基础_第3章_Python中的循环结构

    Python基础_第3章_Python中的循环结构 文章目录 Python基础_第3章_Python中的循环结构 Python中的循环结构 一.回顾分支练习题 1.判断是否为一个合法三角形 2.求世界 ...

  3. Python基础_第5章_Python中的数据序列

    Python基础_第5章_Python中的数据序列 文章目录 Python基础_第5章_Python中的数据序列 Python中的数据序列 一.字典--Python中的==查询==神器 1.为什么需要 ...

  4. python post与get的区别_python中get和post有什么区别

    更多编程教程请到:菜鸟教程 https://www.piaodoo.com/ 友情链接: 高州阳光论坛https://www.hnthzk.com/ 人人影视http://www.sfkyty.com ...

  5. python深复制与浅复制_Python中的深拷贝和浅拷贝详解

    要说清楚Python中的深浅拷贝,需要搞清楚下面一系列概念: 变量-引用-对象(可变对象,不可变对象)-切片-拷贝(浅拷贝,深拷贝) [变量-对象-引用] 在Python中一切都是对象,比如说:3, ...

  6. python运行mcmc为何老出错_python中mcmc方法的实现

    MCMC方法在贝叶斯统计中运用很多,MIT发布的EMCEE是实现的比较好的.介绍页面在下面.源代码中examples里的代码可以帮助理解各种功能,特别是line.py 列出了最小二乘法,最大似然法和M ...

  7. python实例属性与类属性_Python中的类属性和实例属性引发的一个坑-续

    上篇文章Python 中的类属性和实例属性,我们探讨了类属性和实例属性引发的一个小坑.总结了类属性和实例属性的区别如下:类属性可以被类和实例调用,实例属性只能被实例调用 类属性不会随着实例的调用而改变 ...

  8. python计算数组元素的和_python中数组的运算

    Python中进行数组的运算需要调用NumPy包. 其官网是:http://www.numpy.org/​www.numpy.org NumPy是Python语言的一个扩充程序库.它支持高级大量的维度 ...

  9. python中格式化字符串的作用_python中字符串格式化的意义(化妆)

    格式 描述 %%百分号标记 #就是输出一个% %c字符及其ASCII码 %s字符串 %d有符号整数(十进制) %u无符号整数(十进制) %o无符号整数(八进制) %x无符号整数(十六进制) %X无符号 ...

最新文章

  1. 一份职位信息的精准推荐之旅,从AI底层架构说起
  2. Tree-Structured LSTM模型
  3. 第十五届全国大学生智能汽车竞赛华南赛区成绩总结
  4. 华中科技大学计算机上机,华中科技大学计算机学院上机复试题目.doc
  5. Android 系统当中各种尺寸单位的定义及使用
  6. C# 获取Excel中的合并单元格
  7. HashSet中实现不插入重复的元素
  8. Web Hacking 101 中文版 二十、漏洞报告
  9. 微服务四个常见问题,以及SpringCloud Netflix和SpringCloud Alibaba和Apache Dubbo zookeeper区别
  10. Cache之全相连映射
  11. 如何在html中加入音效,JavaScript / HTML5中的音效
  12. vscode终端显示中文字符乱码解决
  13. python熊猫弹幕_python奇闻杂技05 爬虫初步学习+jieba分词+词云库+哔哩哔哩弹幕爬取示例(数据分析pandas)...
  14. 39. OP-TEE中secure stroage------安全文件数据的打开过程(open)
  15. iMeta | 深圳先进院戴磊组开发可同时提取共存菌株的组成和基因成分谱的菌株分析工具...
  16. 【HP-MC/SG】HP-MC/SG添加LV测试
  17. Android短信数据库简析
  18. Tomcat优化经验之谈
  19. Appium+python+夜神模拟器微信公众号 记录第一次写用例所踩的坑
  20. mojing手柄遥杆控制

热门文章

  1. java 两点计算角度_从两点和方向向量计算角度
  2. 海外生活: 胆小鬼驾车行走多伦多
  3. pinia 的使用(一)—— 基本介绍
  4. servlet了解掌握
  5. 关于 VUE 项目启动报错,Error: spawn cmd ENOENT at Process.ChildProcess._handle.onexit...后面太多我就不粘贴了
  6. Win7 下ARP绑定
  7. 从25岁到55岁,人生三个十年的规划和目标
  8. 【美国原装进口健身补充剂 乳清蛋白 绝对正品】
  9. 【代码随想录二刷】Day23-二叉树-C++
  10. 【产品设计】七点关于做互联网产品设计的思路