tempfile.TemporaryFile

如何你的应用程序需要一个临时文件来存储数据,但不需要同其他程序共享,那么用TemporaryFile函数创建临时文件是最好的选择。其他的应用程序是无法找到或打开这个文件的,因为它并没有引用文件系统表。用这个函数创建的临时文件,关闭后会自动删除。

实例一:

import os

import tempfile

print 'Building a file name yourself:'

filename = '/tmp/guess_my_name.%s.txt' % os.getpid()

temp = open(filename, 'w+b')

try:

print 'temp:', temp

print 'temp.name:', temp.name

finally:

temp.close()

os.remove(filename) # Clean up the temporary file yourself

print

print 'TemporaryFile:'

temp = tempfile.TemporaryFile()

try:

print 'temp:', temp

print 'temp.name:', temp.name

finally:

temp.close()  # Automatically cleans up the file

这个例子说明了普通创建文件的方法与TemporaryFile()的不同之处,注意:用TemporaryFile()创建的文件没有文件名

输出:

$ python tempfile_TemporaryFile.py

Building a file name yourself:

temp:

temp.name: /tmp/guess_my_name.14932.txt

TemporaryFile:

temp: ', mode 'w+b' at 0x1004486f0>

temp.name:

默认情况下使用w+b权限创建文件,在任何平台中都是如此,并且程序可以对它进行读写。这个例子说明了普通创建文件的方法与TemporaryFile()的不同之处,注意:用TemporaryFile()创建的文件没有文件名

$ python tempfile_TemporaryFile.py

Building a file name yourself:

temp:

temp.name: /tmp/guess_my_name.14932.txt

TemporaryFile:

temp: ', mode 'w+b' at 0x1004486f0>

temp.name:

默认情况下使用w+b权限创建文件,在任何平台中都是如此,并且程序可以对它进行读写。

实例二:

import os

import tempfile

temp = tempfile.TemporaryFile()

try:

temp.write('Some data')

temp.seek(0)

print temp.read()

finally:

temp.close()

写入侯,需要使用seek(),为了以后读取数据。

输出:

$ python tempfile_TemporaryFile_binary.py

Some data

如果你想让文件以text模式运行,那么在创建的时候要修改mode为'w+t'。

实例三:

import tempfile

f = tempfile.TemporaryFile(mode='w+t')

try:

f.writelines(['first ', 'second '])

f.seek(0)

for line in f:

print line.rstrip()

finally:

f.close()

输出:

$ python tempfile_TemporaryFile_text.py

first

second

tempfile.NamedTemporaryFile

如果临时文件会被多个进程或主机使用,那么建立一个有名字的文件是最简单的方法。这就是NamedTemporaryFile要做的,可以使用name属性访问它的名字

import os

import tempfile

temp = tempfile.NamedTemporaryFile()

try:

print 'temp:', temp

print 'temp.name:', temp.name

finally:

# Automatically cleans up the file

temp.close()

print 'Exists after close:', os.path.exists(temp.name)

尽管文件带有名字,但它仍然会在close后自动删除

输出:

$ python tempfile_NamedTemporaryFile.py

temp: ', mode 'w+b' at 0x1004481e0>

temp.name: /var/folders/9R/9R1t+tR02Raxzk+F71Q50U+++Uw/-Tmp-/tmp0zHZvX

Exists after close: False

tempfile.mkdtemp

创建临时目录,这个不多说,直接看例子:

import os

import tempfile

directory_name = tempfile.mkdtemp()

print directory_name

# Clean up the directory yourself

os.removedirs(directory_name)

输出

$ python tempfile_mkdtemp.py

/var/folders/9R/9R1t+tR02Raxzk+F71Q50U+++Uw/-Tmp-/tmpB1CR8M

注意:目录需要手动删除。

Predicting Names

用3个参数来控制文件名,名字产生公式:dir + prefix + random + suffix

实例:

import tempfile

temp = tempfile.NamedTemporaryFile(suffix='_suffix',

prefix='prefix_',

dir='/tmp',

)

try:

print 'temp:', temp

print 'temp.name:', temp.name

finally:

temp.close()

输出:

$ python tempfile_NamedTemporaryFile_args.py

temp: ', mode 'w+b' at 0x1004481e0>

temp.name: /tmp/prefix_UyCzjc_suffix

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

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

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

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

tempfile.tempdir

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

tempfile.gettempdir()

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

python里面temp是啥-Python tempfile模块学习笔记(临时文件)相关推荐

  1. python tempfile cleanup_Python tempfile模块:生成临时文件和临时目录

    Python tempfile模块:生成临时文件和临时目录 tempfile 模块专门用于创建临时文件和临时目录,它既可以在 UNIX 平台上运行良好,也可以在 Windows 平台上运行良好. te ...

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

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

  3. python模块学习笔记

    python模块学习笔记 1.Python自动发送邮件smtplib 2.制作二维码图片MyQR 3.绝对值模块math 4.CSV模块 5.openpyxl 模块,操作Excel文件 ExcelMa ...

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

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

  5. 《python基础教程(第二版)》学习笔记 基础部分(第1章)

    <python基础教程(第二版)>学习笔记 基础部分(第1章) python常用的IDE: Windows: IDLE(gui), Eclipse+PyDev; Python(comman ...

  6. python segy格式地震数据读写包segyio学习笔记(二)

    python segy格式地震数据读写包segyio学习笔记(二) 最近大致搞明白了segyio读取叠后和叠前segy数据的方法,以及内部存储结构,以两段代码为例: 叠后数据读取.这是一个从给定时窗内 ...

  7. python word 操作 doc 文件格式转docx 格式 学习笔记

    python word 操作 doc 文件格式转docx 格式 学习笔记 from win32com import client as wc import time # TODO file_0 = & ...

  8. Arduino模块学习笔记(一)—GPS模块的使用

    Arduino模块学习笔记(一)--GSP模块的使用 文章目录 Arduino模块学习笔记(一)--GSP模块的使用 所需组件 一.模块使用介绍 1.GPS模块(在室内时,一般获取不到位置信息) 2. ...

  9. cma linux 起始地址,CMA模块学习笔记

    CMA模块学习笔记 作者:linuxer 发布于:2017-6-28 18:29 分类:内存管理 前言 本文是近期学习CMA模块的一个学习笔记,方便日后遗忘的时候,回来查询以便迅速恢复上下文. 学习的 ...

最新文章

  1. AI如何赋能金融行业?百度、图灵深视等同台分享技术实践
  2. 嵌入式系统在井下煤炭井下监控系统的应用
  3. JavaWeb:JDBC之数据库连接池
  4. Linux之bash shell基本命令
  5. 删除重复记录处理(转)
  6. pfsense下的流量管理(转)
  7. Java面试2021,java黑马百度云
  8. kafka数据不丢失不重复_如何配置 KAFKA 使其消息不会丢失
  9. 开源ckplayer 网页播放器, 跨平台(html5, mobile),flv, f4v, mp4, rtmp协议. webm, ogg, m3u8 !...
  10. 每秒可产生1亿个序列号的序列生成代码 支持64台服务器同步生成
  11. 全系标配!Redmi K40系列锁定三星E4材质OLED屏幕
  12. ×××的两种组网方式
  13. 如何开通微信小程序在线客服系统?
  14. 手游-放开那三国socket协议分析
  15. pytorch - GAN
  16. 超市商品管理系统(课程设计)
  17. windows rabbit mq启动失败
  18. 一些不错的caffe初学者的教程链接
  19. Android Native程序crash的一些定位方法简介
  20. 思己录-1:人是什么

热门文章

  1. PHP中全局变量$_POST[]和$_GET[]
  2. Java将Unix时间戳转换成指定格式日期
  3. HDU 2147 kiki's game
  4. MySQL数据库性能优化--SQL优化
  5. WordPress podPress插件‘playerID’参数跨站脚本漏洞
  6. ECSHOP商品详情页”增加自定义TITLE
  7. sicily 1082. MANAGER
  8. 下面不属于python第三方库的安装方法的是-关于python中第三方库安装方法和问题解决...
  9. 用python画猫咪怎么画-使用Python的turtle画小猫咪
  10. python绘制三维散点图-Python散点图与三维图