python的临时文件夹的tempfile模块学习

应用程序经常要保存一些临时的信息,这些信息不是特别重要,没有必要写在配置文件 里,但又不能没有,这时候就可以把这些信息写到临时文件里。其实很 多程序在运行的时候,都会产生一大堆临时文件,有些用于保存日志,有些用于保存一些临时数据,还有一些保存一些无关紧要的设置。在windows操作系统 中,临时文件一般被保存在这个文件夹下:C:\Documents and Settings\User\Local Settings\Temp。其实我们最常用的IE浏览器在浏览网页的时候,会产生大量的临时文件,这些临时文件一般是我们浏览过的网页的本地副本。 Python提供了一个tempfile模块,用来对临时数据进行操作。查阅Python手册,里面介绍了如下常用的方法:

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()方法,数据才会真正写入到磁盘的临时文件中。

使用 tempfile 模块创建临时文件

tempfile 模块允许你快速地创建名称唯一的临时文件供使用.

-------------------------------------------------------------------------

import tempfile
import os

tempfile = tempfile.mktemp()    # 创建名称唯一的临时文件供使用
print "tempfile", "=>", tempfile

file = open(tempfile, "w+b")    # 打开文件
file.write("*" * 1000)                # 写入文件
file.seek(0)                            # 回到启示位置
print len(file.read()), "bytes"
file.close()

try:
    os.remove(tempfile)       # 删除文件
except OSError:
    pass

tempfile => C:\TEMP\~160-1
1000 bytes

-------------------------------------------------------------------------

TemporaryFile 函数会自动挑选合适的文件名, 并打开文件. 而且它会确保该文件在关闭的时候会被删除.

(在 Unix 下, 你可以删除一个已打开的文件, 这时文件关闭时它会被自动删除. 在其他平台上, 这通过一个特殊的封装类实现.)
-------------------------------------------------------------------------

使用 tempfile 模块打开临时文件

-------------------------------------------------------------------------

import tempfile

file = tempfile.TemporaryFile()   #  自动创建一个临时文件

for i in range(100):
    file.write("*" * 100)

file.close()  # 关闭文件后,文件会被自动删除



python 临时文件夹 的 tempfile模块学习相关推荐

  1. pythontemp_python 临时文件夹 的 tempfile模块学习

    python的临时文件夹的tempfile模块学习 应用程序经常要保存一些临时的信息,这些信息不是特别重要,没有必要写在配置文件 里,但又不能没有,这时候就可以把这些信息写到临时文件里.其实很 多程序 ...

  2. python里面temp是啥-Python tempfile模块学习笔记(临时文件)

    tempfile.TemporaryFile 如何你的应用程序需要一个临时文件来存储数据,但不需要同其他程序共享,那么用TemporaryFile函数创建临时文件是最好的选择.其他的应用程序是无法找到 ...

  3. python中configparser_python中confIgparser模块学习

    python中configparser模块学习 ConfigParser模块在python中用来读取配置文件,配置文件的格式跟windows下的ini配置文件相似,可以包含一个或多个节(section ...

  4. Python 之路 Day5 - 常用模块学习

    模块介绍 time &datetime模块 random os sys shutil json & picle shelve xml处理 yaml处理 configparser has ...

  5. Python+Selenium 自动化测试 6. Unittest模块学习

    unittest单元测试框架不仅可以适用于单元测试,还可以适用WEB自动化测试用例的开发与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过,最终生成测试结果. 源码例 ...

  6. Python PIL ImageDraw 和ImageFont模块学习

    ImageDraw 原文:http://blog.csdn.net/dou_co/article/details/17618319 新建一个空白图片为本文作示例,新建空白文件的方法 见Image模块, ...

  7. python未读邮件_urllib2模块学习--爬虫读取163邮箱未读邮件

    在编写爬虫之前,先介绍个工具httpfox,是firefox的一个插件扩展,它是编写爬虫的神器啊. HttpFox 监控和分析浏览器和网络服务器之间收发的所有HTTP流量. 每个请求可得到的信息包括: ...

  8. python里面temp是啥-Python模块学习:tempfile 临时文件(夹)操作

    应用程序经常要保存一些临时的信息,这些信息不是特别重要,没有必要写在配置文件里,但又不能没有,这时候就可以把这些信息写到临时文件里.其实很多程序在运行的时候,都会产生一大堆临时文件,有些用于保存日志, ...

  9. 如何正确使用Python临时文件

    临时文件通常用来保存无法保存在内存中的数据,或者传递给必须从文件读取的外部程序.一般我们会在/tmp目录下生成唯一的文件名,但是安全的创建临时文件并不是那么简单,需要遵守许多规则. 1.前言 临时文件 ...

最新文章

  1. 数论题目入门 基础积攒
  2. 学习进度条(第六周)
  3. 点击别的地方隐藏下拉列表
  4. Online Shopping网上商城数据库设计
  5. 23. Leetcode 24. 两两交换链表中的节点 (链表-基础操作类-交换链表)
  6. OllyDbg 使用笔记 (二)
  7. 数据结构练习 00-自测3. 数组元素循环右移问题 (20)
  8. [Cordova]JS和Native交互实现关键代码(iOS)
  9. jupyter notebook和python有什么区别_Jupyter Notebook 有哪些奇技淫巧?
  10. 《面向对象的思考过程(原书第4版)》一 第2章 如何以面向对象的方式进行思考...
  11. aes加密 js_吊打SRC的加密传输实现SQLi挖掘
  12. 《Kotlin项目实战开发》第5章 函数与函数式编程
  13. python 并发_Python bin()
  14. 2017年最受欢迎的15大Python库有哪些?
  15. 解压速度更快, Zstandard 1.4.1 发布
  16. 匈牙利算法求最大匹配
  17. java雪花纷飞_终于理解白雪比喻句
  18. vm安装dmg苹果镜像_无需刻录DMG光盘,教你在VMWare下安装MAC OS X Snow Leopard 10.6
  19. cookie的保存 jq,如何使用jQuery读取Cookie并将其存储在变量中?
  20. 遇见,那一份最美的眷恋

热门文章

  1. 樱花动漫中的视频下载数据表分析
  2. 【批量下载文献】使用Endnote、IDM、网址批量打开工具
  3. installer启动类型是灰色_联想电脑BIOS下引导方式无法修改或BOOT MODE选项为灰色解决方法...
  4. 学习总结-犀牛被问篇
  5. html字体位置向上,css怎么移动文字,html字体位置
  6. WSingle主题 – 可能是最好的WordPress小说主题,美观大方,功能强大
  7. CSS 3.0实现落叶飘飞动画特效
  8. web前端开发主要课程,CSS字体样式值,赶紧收藏!
  9. matlab与矩阵变换,MATLAB矩阵处理——2.2矩阵变换
  10. 年底找工作,太难了!你觉得难吗?