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 相关文章推荐
go和python变量赋值遇到的一个问题
Aug 31 Python
python版简单工厂模式
Oct 16 Python
取numpy数组的某几行某几列方法
Apr 03 Python
python 函数内部修改外部变量的方法
Dec 18 Python
pandas数据集的端到端处理
Feb 18 Python
Pyqt5 基本界面组件之inputDialog的使用
Jun 25 Python
python实现控制COM口的示例
Jul 03 Python
django项目中使用手机号登录的实例代码
Aug 15 Python
python 并发编程 阻塞IO模型原理解析
Aug 20 Python
TensorFlow——Checkpoint为模型添加检查点的实例
Jan 21 Python
使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二)
Oct 12 Python
如何利用Python matplotlib绘制雷达图
Dec 21 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 和 MySQL 基础教程(二)
2006/10/09 PHP
PHP图片处理之图片背景、画布操作
2014/11/19 PHP
PHP实现时间比较和时间差计算的方法示例
2017/07/24 PHP
tp5修改(实现即点即改)
2019/10/18 PHP
新手常遇到的一些jquery问题整理
2010/08/16 Javascript
10个基于Jquery的幻灯片插件教程
2010/10/29 Javascript
JavaScript中为元素加上name属性的方法
2011/05/09 Javascript
js限制文本框输入长度两种限制方式(长度、字节数)
2012/12/19 Javascript
改变隐藏的input中value值的方法
2014/03/19 Javascript
原生Javascript封装的一个AJAX函数分享
2014/10/11 Javascript
javascript中new Array()和var arr=[]用法区别
2017/12/01 Javascript
解决Nodejs全局安装模块后找不到命令的问题
2018/05/15 NodeJs
jQuery 点击获取验证码按钮及倒计时功能
2018/09/20 jQuery
layui实现给某一列加点击事件
2019/10/26 Javascript
Vue+Element-UI实现上传图片并压缩
2019/11/26 Javascript
vue中如何自定义右键菜单详解
2020/12/08 Vue.js
[02:16]卖萌的僵尸 DOTA2神话信使飞僵小宝来袭
2014/03/24 DOTA
[05:10]2014DOTA2国际邀请赛 通往胜利之匙赛场探秘之旅
2014/07/18 DOTA
Python pickle模块用法实例分析
2015/05/27 Python
Python科学计算之NumPy入门教程
2017/01/15 Python
python+pyqt5实现24点小游戏
2019/01/24 Python
Python3中函数参数传递方式实例详解
2019/05/05 Python
在windows下使用python进行串口通讯的方法
2019/07/02 Python
为什么说Python可以实现所有的算法
2019/10/04 Python
python实现扑克牌交互式界面发牌程序
2020/04/22 Python
Scrapy基于scrapy_redis实现分布式爬虫部署的示例
2020/09/29 Python
CSS实现进度条和订单进度条的示例
2020/11/05 HTML / CSS
HTML5 Canvas实现烟花绽放特效
2016/03/02 HTML / CSS
英国领先的电动可调床制造商:Laybrook
2019/12/26 全球购物
英文简历自荐信范文
2013/12/11 职场文书
应届专科生个人的自我评价
2014/01/05 职场文书
写给老师的表扬信
2014/01/21 职场文书
学校师德师风自我剖析材料
2014/09/29 职场文书
精神文明建设汇报材料
2014/12/24 职场文书
幼儿园新生开学寄语
2015/05/27 职场文书
践行三严三实心得体会(2016推荐篇)
2016/01/06 职场文书