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 相关文章推荐
Python实现的简单发送邮件脚本分享
Nov 07 Python
如何处理Python3.4 使用pymssql 乱码问题
Jan 08 Python
Python中__init__.py文件的作用详解
Sep 18 Python
Python语言描述连续子数组的最大和
Jan 04 Python
代码讲解Python对Windows服务进行监控
Feb 11 Python
python简易远程控制单线程版
Jun 20 Python
在dataframe两列日期相减并且得到具体的月数实例
Jul 03 Python
python一键去抖音视频水印工具
Sep 14 Python
Python docx库用法示例分析
Feb 16 Python
python2.7使用plotly绘制本地散点图和折线图
Apr 02 Python
Python + OpenCV 实现LBP特征提取的示例代码
Jul 11 Python
Python接口开发实现步骤详解
Apr 26 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日期时间函数的高级应用技巧
2009/05/16 PHP
修改PHP脚本使WordPress拦截垃圾评论的方法示例
2015/12/10 PHP
PDO::rollBack讲解
2019/01/29 PHP
PHP中Session ID的实现原理实例分析
2019/08/17 PHP
event.keyCode键码值表 附只能输入特定的字符串代码
2009/05/15 Javascript
js arguments对象应用介绍
2012/11/28 Javascript
JS验证日期的格式YYYY-mm-dd 具体实现
2013/06/29 Javascript
JavaScript中number转换成string介绍
2014/12/31 Javascript
浅谈js中变量初始化
2015/02/03 Javascript
jquery实现表格本地排序的方法
2015/03/11 Javascript
jQuery标签编辑插件Tagit使用指南
2015/04/21 Javascript
js文本框走动跑马灯效果代码分享
2015/08/25 Javascript
JS对HTML表格进行增删改操作
2016/08/22 Javascript
jQuery插件echarts去掉垂直网格线用法示例
2017/03/03 Javascript
Vue实现路由跳转和嵌套
2017/06/20 Javascript
react native 原生模块桥接的简单说明小结
2019/02/26 Javascript
基于leaflet.js实现修改地图主题样式的流程分析
2020/05/15 Javascript
JSON获取属性值方法代码实例
2020/06/30 Javascript
Array.filter中如何正确使用Async
2020/11/04 Javascript
js获取图片的base64编码并压缩
2020/12/05 Javascript
Python3 能振兴 Python的原因分析
2014/11/28 Python
Python进程间通信用法实例
2015/06/04 Python
关于python写入文件自动换行的问题
2018/06/23 Python
Python多进程编程常用方法解析
2020/03/26 Python
在jupyter notebook 添加 conda 环境的操作详解
2020/04/10 Python
CSS3中border-radius属性设定圆角的使用技巧
2016/05/10 HTML / CSS
html5本地存储_动力节点Java学院整理
2017/07/12 HTML / CSS
介绍Java的内部类
2012/10/27 面试题
Java面向对象面试题
2016/12/26 面试题
《阳光》教学反思
2014/02/23 职场文书
2014年党员创先争优承诺书
2014/05/29 职场文书
房屋租房协议书范本
2014/12/04 职场文书
2015年上半年计生工作总结
2015/03/30 职场文书
2016年党员公开承诺书格式范文
2016/03/24 职场文书
2019年“红色之旅”心得体会1000字(3篇)
2019/09/27 职场文书
Spring this调用当前类方法无法拦截的示例代码
2022/03/20 Java/Android