微信小程序 Opencv LeetCode 百度搜索优化 工厂模式 database linq date binding datepicker swiper jquery查找子元素 jquery延时 微信pc版无法获取二维码 java 数据分析 linux撤销 python正则匹配中文 python加入环境变量 java斐波那契数列 java框架 java接口的实例 javascript基础 嵌入式linux驱动程序设计从入门到精通 lanhelper 服务器操作系统下载 内存整理工具 计算机操作系统第四版 销售清单打印软件 adobe清理工具 字幕制作软件哪个好 labview宝典 飞猪ip getelementbyid 思源字体 pr蒙版 视频md5修改器 c语言幂函数 只狼台词 0x000008e 例外被抛出且未被接住
当前位置: 首页 > 学习教程  > 编程语言

tempfile.mkstemp 详解

2020/7/24 11:18:24 文章标签: 测试文章如有侵权请发送至邮箱809451989@qq.com投诉后文章立即删除

1:tempfile 模块

tempfile 模块是用来创建/操作 临时文件(夹)的。有时候我们希望在程序运行过程中需要生成一个临时文件,并在某一个时间删除它。这就需要用到tempfile模块了。

2:tempfile.mkstemp

mkstemp(suffix=None, prefix=None, dir=None, text=False)
  1. suffix 是指定临时文件的后缀,比如’.h5’, '.txt’等。
  2. prefix 是指定文件的前缀,比如orefix = ‘t’,那么得到的文件名称的第一个字符就是’t’。如果是None就是没有前缀。
  3. dir是指定临时文件生成的目录所在。None将根据系统环境变量TMPDIR, TEMP或者TMP的设置来保存临时文件。
  4. text是指定是否以文本形式操作文件,False则是二进制形式。
  5. 返回的是两个参数,一个是fd,一个是fname,fd是文件描述符,fname是指生成的文件的绝对路径。
  6. 生成的文件的名称是随机的,如果你指定了suffix=‘.txt’和prefix=‘A’,那么文件名称就是’AXXXXXXX.txt’的格式。

3:文件描述符是什么?

内核(kernel)利用文件描述符(file descriptor)来访问文件。文件描述符是非负整数。打开现存文件或新建文件时,内核会返回一个文件描述符。读写文件也需要使用文件描述符来指定待读写的文件。

文件描述符在同一进程下与文件是对应的,一个描述符只指向一个文件,但是一个文件可以被多个文件描述符关联。
同一进程下,文件描述符是不可重复的。但是不同进程可以有一样的文件描述符。它们也可以指向不同的文件。

4: 如何删除创建的临时文件?

首先需要使用os.close(fd) 方法用于关闭指定的文件描述符 fd,
然后再使用os.remove(fname)删除临时文件。

5:创建的临时文件有什么特点?

函数描述中这样写道:

The file is readable and writable only by the creating user ID.
If the operating system uses permission bits to indicate whether a file is executable, the file is executable by no one. The file descriptor is not inherited by children of this process.

  1. 文件的读写权限只有创建者拥有
  2. 第二句没看太懂,可能是如果操作系统使用permission bits(不知道如何翻译)去强制指定该文件的权限,那么这个文件就会变成所有人都不可以使用的了。
  3. 该进程的子进程不会继承该文件描述符。

本文链接: http://www.dtmao.cc/news_show_50383.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?