Python实现获取系统临时目录及临时文件的方法示例


Posted in Python onJune 26, 2019

本文实例讲述了Python实现获取系统临时目录及临时文件的方法。分享给大家供大家参考,具体如下:

在开发应用程序的过程中,会有一些临时的信息,或者不太重要的信息,会保存在一个特殊的目录下面,在windows 里面,通常会在 c:\docume~1\admini~1\locals~1\temp 这个地方,而在 centos 中就是 /tmp 目录

比如我们经常上网,网页的的一些临时信息都保存在这个临时目录里面。那么在我们自己写应用程序的时候,怎么得到这个临时目录,怎么创建临时文件呢。在python里面有tempfile这个模块可以调用.

1. 生成临时文件

import tempfile
tmpfd, tempfilename = tempfile.mkstemp()
print tmpfd
print tempfilename
os.close(tmpfd)

看到类似的如下结果:

3
c:\docume~1\admini~1\locals~1\temp\tmpbg6tkl

2.删除临时文件

os.unlink(tempfilename)

当然也还有其他的方法,这里将这些方法列出来,讲解一下

tempfile.mkstemp([suffix=''[, prefix='tmp'[, dir=None[, text=False]]]])

mkstemp方法用于创建一个临时文件。该方法仅仅用于创建临时文件, 调用tempfile.mkstemp函数后,返回包含两个元素的元组,第一个元素指示操作该临时文件的安全级别,第二个元素指示该临时文件的路径。参数 suffix和prefix分别表示临时文件名称的后缀和前缀;dir指定了临时文件所在的目录,如果没有指定目录,将根据系统环境变量TMPDIR, TEMP或者TMP的设置来保存临时文件;参数text指定了是否以文本的形式来操作文件,默认为False,表示以二进制的形式来操作文件。

tempfile.mkdtemp([suffix=''[, prefix='tmp'[, dir=None]]])

该函数用于创建一个临时文件夹。参数的意思与tempfile.mkdtemp一样。它返回临时文件夹的绝对路径。

tempfile.mktemp([suffix=''[, prefix='tmp'[, dir=None]]])

mktemp用于返回一个临时文件的路径,但并不创建该临时文件。

tempfile.tempdir

该属性用于指定创建的临时文件(夹)所在的默认文件夹。如果没有设置该属性或者将其设为None,Python将返回以下环境变量TMPDIR, TEMP, TEMP指定的目录,如果没有定义这些环境变量,临时文件将被创建在当前工作目录。

tempfile.gettempdir()

gettempdir()则用于返回保存临时文件的文件夹路径。

tempfile.TemporaryFile([mode='w+b'[, bufsize=-1[, suffix=''[, prefix='tmp'[, dir=None]]]]])

该函数返回一个 类文件 对象(file-like)用于临时数据保存(实际上对应磁盘上的一个临时文件)。当文件对象被close或者被del的时候,临时文件将从磁盘上删除。 mode、bufsize参数的单方与open()函数一样;suffix和prefix指定了临时文件名的后缀和前缀;dir用于设置临时文件默认的保 存路径。返回的类文件对象有一个file属性,它指向真正操作的底层的file对象。

tempfile.NamedTemporaryFile([mode='w+b'[, bufsize=-1[, suffix=''[, prefix='tmp'[, dir=None[, delete=True]]]]]])

tempfile.NamedTemporaryFile函数的行为与tempfile.TemporaryFile类似,只不过它多了一个delete 参数,用于指定类文件对象close或者被del之后,是否也一同删除磁盘上的临时文件(当delete = True的时候,行为与TemporaryFile一样)。

tempfile.SpooledTemporaryFile([max_size=0[, mode='w+b'[, bufsize=-1[, suffix=''[, prefix='tmp'[, dir=None]]]]]])

tempfile.SpooledTemporaryFile函数的行为与tempfile.TemporaryFile类似。不同的是向类文件对象写数 据的时候,数据长度只有到达参数max_size指定大小时,或者调用类文件对象的fileno()方法,数据才会真正写入到磁盘的临时文件中

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
使用pdb模块调试Python程序实例
Jun 02 Python
Python实现模拟分割大文件及多线程处理的方法
Oct 10 Python
OpenCV2.3.1+Python2.7.3+Numpy等的配置解析
Jan 05 Python
Python输出各行命令详解
Feb 01 Python
Python3用tkinter和PIL实现看图工具
Jun 21 Python
python 读取摄像头数据并保存的实例
Aug 03 Python
python matplotlib画图库学习绘制常用的图
Mar 19 Python
python实现websocket的客户端压力测试
Jun 25 Python
pandas DataFrame创建方法的方式
Aug 02 Python
Python之数据序列化(json、pickle、shelve)详解
Aug 30 Python
Python Selenium安装及环境配置的实现
Mar 17 Python
python 对一幅灰度图像进行直方图均衡化
Oct 27 Python
python里dict变成list实例方法
Jun 26 #Python
Python音频操作工具PyAudio上手教程详解
Jun 26 #Python
python3中类的继承以及self和super的区别详解
Jun 26 #Python
对Python中class和instance以及self的用法详解
Jun 26 #Python
Python中的支持向量机SVM的使用(附实例代码)
Jun 26 #Python
对python 中class与变量的使用方法详解
Jun 26 #Python
python 机器学习之支持向量机非线性回归SVR模型
Jun 26 #Python
You might like
PHP中的string类型使用说明
2010/07/27 PHP
XAMPP安装与使用方法详细解析
2013/11/27 PHP
部署PHP项目应该注意的几点事项分享
2013/12/20 PHP
PHP页面实现定时跳转的方法
2014/10/31 PHP
支持汉转拼和拼音分词的PHP中文工具类ChineseUtil
2018/02/23 PHP
PHP+Redis事务解决高并发下商品超卖问题(推荐)
2020/08/03 PHP
JavaScript中的Screen屏幕对象
2008/01/16 Javascript
33个优秀的 jQuery 图片展示插件分享
2012/03/14 Javascript
文本框input聚焦失焦样式实现代码
2012/10/12 Javascript
jquery插件开发之实现jquery手风琴功能分享
2014/03/10 Javascript
JS中frameset框架弹出层实例代码
2016/04/01 Javascript
纯JS代码实现气泡效果
2016/05/04 Javascript
DropDownList实现可输入可选择(两种版本可选)
2016/12/07 Javascript
vue.js $refs和$emit 父子组件交互的方法
2017/12/20 Javascript
Bootstrap实现可折叠分组侧边导航菜单
2018/03/07 Javascript
vue实现个人信息查看和密码修改功能
2018/05/06 Javascript
Vue 让元素抖动/摆动起来的实现代码
2018/05/31 Javascript
node实现mock-plugin中间件的方法
2019/12/25 Javascript
基于canvas实现手写签名(vue)
2020/05/21 Javascript
Javascript新手入门之字符串拼接与变量的应用
2020/12/03 Javascript
[32:39]完美世界DOTA2联赛循环赛 Forest vs Inki BO2第一场 11.04
2020/11/04 DOTA
Python smallseg分词用法实例分析
2015/05/28 Python
python下实现二叉堆以及堆排序的示例
2017/09/29 Python
读取本地json文件,解析json(实例讲解)
2017/12/06 Python
Python基于TCP实现会聊天的小机器人功能示例
2018/04/09 Python
python求最大连续子数组的和
2018/07/07 Python
Python3爬楼梯算法示例
2019/03/04 Python
python获取txt文件词向量过程详解
2019/07/05 Python
django-crontab实现服务端的定时任务的示例代码
2020/02/17 Python
Python处理mysql特殊字符的问题
2020/03/02 Python
使用分层画布来优化HTML5渲染的教程
2015/05/08 HTML / CSS
英国知名化妆品网站:Revolution Beauty(原TAM Beauty)
2018/02/28 全球购物
荷兰DOD药房中文官网:DeOnlineDrogist
2020/12/27 全球购物
新闻编辑自荐书范文
2014/02/12 职场文书
主题团日活动总结
2014/06/25 职场文书
法制工作总结2015
2015/07/23 职场文书