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构造icmp echo请求和实现网络探测器功能代码分享
Jan 10 Python
python 实现自动远程登陆scp文件实例代码
Mar 13 Python
Python cookbook(数据结构与算法)实现对不原生支持比较操作的对象排序算法示例
Mar 15 Python
Python列表与元组的异同详解
Jul 02 Python
在django模板中实现超链接配置
Aug 21 Python
Python学习笔记之列表和成员运算符及列表相关方法详解
Aug 22 Python
关于django 1.10 CSRF验证失败的解决方法
Aug 31 Python
python3 assert 断言的使用详解 (区别于python2)
Nov 27 Python
详解Python中的分支和循环结构
Feb 11 Python
浅谈在django中使用redirect重定向数据传输的问题
Mar 13 Python
Python基于当前时间批量创建文件
May 07 Python
在python中使用pyspark读写Hive数据操作
Jun 06 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 CURL用法的深入分析
2013/06/09 PHP
PHP实现AES256加密算法实例
2014/09/22 PHP
thinkPHP5.1框架中Request类四种调用方式示例
2019/08/03 PHP
php实现根据身份证获取精准年龄
2020/02/26 PHP
Jquery中给animation加更多的运作效果实例
2013/09/05 Javascript
JavaScript判断一个字符串是否包含指定子字符串的方法
2015/03/18 Javascript
推荐10 款 SVG 动画的 JavaScript 库
2015/03/24 Javascript
JS+CSS实现大气的黑色首页导航菜单效果代码
2015/09/10 Javascript
根据user-agent判断蜘蛛代码黑帽跳转代码(js版与php版本)
2015/09/14 Javascript
Node.js+Express配置入门教程
2016/05/19 Javascript
jQuery easyUI datagrid 增加求和统计行的实现代码
2016/06/01 Javascript
利用Angularjs和原生JS分别实现动态效果的输入框
2016/09/01 Javascript
老生常谈jquery id选择器和class选择器的区别
2017/02/12 Javascript
jquery实现的table排序功能示例
2017/03/10 Javascript
vue + any-touch实现一个iscroll 实现拖拽和滑动动画效果
2019/04/08 Javascript
探究一道价值25k的蚂蚁金服异步串行面试题
2020/08/21 Javascript
详解webpack的clean-webpack-plugin插件报错
2020/10/16 Javascript
解决antd datepicker 获取时间默认少8个小时的问题
2020/10/29 Javascript
Vue3 实现双盒子定位Overlay的示例
2020/12/22 Vue.js
[02:52]2017DOTA2国际邀请赛中国区预选赛晋级之路
2017/07/03 DOTA
python进阶教程之模块(module)介绍
2014/08/30 Python
详细介绍Ruby中的正则表达式
2015/04/10 Python
python 性能优化方法小结
2017/03/31 Python
python爬虫框架talonspider简单介绍
2017/06/09 Python
详解Python3之数据指纹MD5校验与对比
2019/06/11 Python
tensorflow 利用expand_dims和squeeze扩展和压缩tensor维度方式
2020/02/07 Python
Python filter()及reduce()函数使用方法解析
2020/09/05 Python
linux mint中搜狗输入法导致pycharm卡死的问题
2020/10/28 Python
纯css3制作网站后台管理面板
2014/12/30 HTML / CSS
HTML5引入的新数组TypedArray介绍
2012/12/24 HTML / CSS
丝芙兰香港官网:Sephora香港
2018/03/13 全球购物
Java工程师面试集锦之Spring框架
2013/06/16 面试题
初三新学期计划书
2014/05/03 职场文书
活动总结结尾怎么写
2014/08/30 职场文书
2014年学生会部门工作总结
2014/11/07 职场文书
2015年出纳工作总结与计划
2015/05/18 职场文书