tempfile 模块,生成临时文件夹或文件,所生成的文件(夹)的名字都是随机的,但可以指定前缀、后缀和路径,中间由6位随机字符组成。应用程序经常要保存一些临时的信息,这些信息不是特别重要,没有必要写在配置文件里,但又不能没有,这时候就可以把这些信息写到临时文件里。

模块方法:

tempfile.mkstemp([suffix=''[, prefix='tmp'[, dir=None[, text=False]]]]):在指定的 dir 下创建一个临时文件,suffix 指定后缀,要自己带上“.”,prefix 指定前缀,text 指定文件读写形式,False 为以二进制形式读写。在临时文件读写完毕后,要手动关闭并删除它,不会自动执行
tempfile.TemporaryFile([mode='w+b'[, bufsize=-1[, suffix=''[, prefix='tmp'[, dir=None]]]]]):创建一个没名字的临时文件(file-like object),会在文件被关闭后自动删除,mode 指定操作文件模式,bufsize 指定缓冲大小,-1 代表系统的默认值
tempfile.NamedTemporaryFile([mode='w+b'[, bufsize=-1[, suffix=''[, prefix='tmp'[, dir=None[, delete=True]]]]]]):创建一个有随机名字的临时文件(file-like object),可以指定是否在关闭后删除,其余与 TemporaryFile 方法一样
tempfile.SpooledTemporaryFile([max_size=0[, mode='w+b'[, bufsize=-1[, suffix=''[, prefix='tmp'[, dir=None]]]]]]):与 TemporaryFile 方法类似。不同的是向类文件对象写数据的时候,数据长度只有到达参数 max_size 指定大小时,或者调用类文件对象的 fileno()方法,数据才会真正写入到磁盘的临时文件中
tempfile.mkdtemp([suffix=''[, prefix='tmp'[, dir=None]]]):创建临时文件夹,用完后要手动删除
tempfile.gettempdir():返回当前选择的临时文件的默认创建路径
tempfile.gettempprefix():返回创建临时文件的默认前缀

模块属性:

tempfile.tempdir:设置默认的临时文件创建路径,不推荐直接修改,要在调用各个方法时指定。默认路径优先次序:环境变量TMPDIR,环境变量TEMP,环境变量TMP,C:\TEMP,当前工作路径