python中临时文件及文件夹使用

系统 1655 0

python中临时文件及文件夹使用

文章目录

  • python中临时文件及文件夹使用
      • 一、简介
      • 二、临时文件夹
        • 2.1 获取临时文件夹
        • 2.2 生成临时文件夹
      • 三、临时文件
        • 3.1 生成不自动删除(关闭时)的临时文件
        • 3.2 生成自动删除的临时文件

一、简介

这里介绍python中临时文件及文件夹使用。使用的是tempfile包(安装:pip install tempfile),参考地址是https://docs.python.org/3/library/tempfile.html。

二、临时文件夹

2.1 获取临时文件夹

            
              
                # 获取临时文件夹
              
              
tmpdir 
              
                =
              
               tempfile
              
                .
              
              gettempdir
              
                (
              
              
                )
              
              
                print
              
              
                (
              
              tmpdir
              
                )
              
              
                #/tmp
              
            
          

2.2 生成临时文件夹

            
              
                # 方式一:生成默认临时文件夹
              
              
tmpdir 
              
                =
              
               tempfile
              
                .
              
              mkdtemp
              
                (
              
              
                )
              
              
                print
              
              
                (
              
              tmpdir
              
                )
              
              
                #/tmp/tmpui77cgud
              
              
                # 方式二:生成自定义临时文件夹(指定前缀、后缀、目录,可指定其中一部分),suffix:后缀, prefix:前缀, dir:目录
              
              
tmpdir 
              
                =
              
               tempfile
              
                .
              
              mkdtemp
              
                (
              
              suffix
              
                =
              
              
                '_txt'
              
              
                ,
              
               prefix
              
                =
              
              
                'tp_dir_'
              
              
                ,
              
              
                dir
              
              
                =
              
              
                '/home/china/tmp/py_rs_file'
              
              
                )
              
              
                print
              
              
                (
              
              tmpdir
              
                )
              
              
                # /home/china/tmp/py_rs_file/tp_dir_06l_o2dm_txt
              
            
          

三、临时文件

3.1 生成不自动删除(关闭时)的临时文件

            
              
                # 方式一:生成默认临时文件,默认为二进制文件
              
              
tmpfile 
              
                =
              
               tempfile
              
                .
              
              mkstemp
              
                (
              
              
                )
              
              
                [
              
              
                1
              
              
                ]
              
              
                print
              
              
                (
              
              tempfile
              
                )
              
              
                #/tmp/tmp75kazf_8
              
              
                # 数据写入
              
              
                with
              
              
                open
              
              
                (
              
              tmpfile
              
                ,
              
              
                'w+'
              
              
                )
              
              
                as
              
               t_f
              
                :
              
              
    t_f
              
                .
              
              writelines
              
                (
              
              
                'study hard and make progress'
              
              
                )
              
              
                # 方式二:生成自定义临时文件(指定前缀、后缀、目录、文件类型参数,可指定其中一部分),suffix:后缀, prefix:前缀, dir:目录, text:文件类型,True为文本,false为二进制
              
              
tmpfile 
              
                =
              
               tempfile
              
                .
              
              mkstemp
              
                (
              
              suffix
              
                =
              
              
                '.txt'
              
              
                ,
              
               prefix
              
                =
              
              
                'tp_'
              
              
                ,
              
              
                dir
              
              
                =
              
              
                '/home/china/tmp/py_rs_file'
              
              
                ,
              
               text
              
                =
              
              
                True
              
              
                )
              
              
                [
              
              
                1
              
              
                ]
              
              
                print
              
              
                (
              
              tempfile
              
                )
              
              
                # /home/china/tmp/py_rs_file/tp_pn2973g0.txt
              
              
                # 数据写入
              
              
                with
              
              
                open
              
              
                (
              
              tmpfile
              
                ,
              
              
                'w+'
              
              
                )
              
              
                as
              
               t_f
              
                :
              
              
    t_f
              
                .
              
              writelines
              
                (
              
              
                'study hard and make progress'
              
              
                )
              
            
          

3.2 生成自动删除的临时文件

            
              
                # 方式一:创建临时文件,文件关闭时自动删除
              
              
tmpfile 
              
                =
              
               tempfile
              
                .
              
              TemporaryFile
              
                (
              
              mode
              
                =
              
              
                'w+t'
              
              
                )
              
              
tmpfile
              
                .
              
              write
              
                (
              
              
                'study hard and make progress everyday'
              
              
                )
              
              
                #数据写入
              
              
tmpfile
              
                .
              
              seek
              
                (
              
              
                0
              
              
                )
              
              
tmpTxt 
              
                =
              
               tmpfile
              
                .
              
              read
              
                (
              
              
                )
              
              
                #数据读取
              
              
                print
              
              
                (
              
              tmpTxt
              
                )
              
              
tmpfile
              
                .
              
              close
              
                (
              
              
                )
              
              
                #关闭时文件自动删除
              
              
                # 方式二:创建临时文件,文件关闭时根据delete参数确定是否自动删除, True:删除  False:不删除
              
              
                with
              
               tempfile
              
                .
              
              NamedTemporaryFile
              
                (
              
              delete
              
                =
              
              
                False
              
              
                )
              
              
                as
              
               tmpfile
              
                :
              
              
    file_name 
              
                =
              
               tmpfile
              
                .
              
              name
    
              
                print
              
              
                (
              
              file_name
              
                )
              
              
                #/tmp/tmp73zl8gmn
              
              
    tmpfile
              
                .
              
              write
              
                (
              
              
                'study hard and make progress everyday'
              
              
                .
              
              encode
              
                (
              
              
                )
              
              
                )
              
              
    tmpfile
              
                .
              
              seek
              
                (
              
              
                0
              
              
                )
              
              
    tmpTxt 
              
                =
              
               tmpfile
              
                .
              
              read
              
                (
              
              
                )
              
              
                .
              
              decode
              
                (
              
              
                )
              
              
                print
              
              
                (
              
              tmpTxt
              
                )
              
              
                # 方式三:创建自定义临时文件,文件关闭时可根据delete参数确定是否自动删除, True:删除  False:不删除
              
              
                # 其他配置参数有,mode:文件模式(w+b为二进制模式(默认),w+t为文本模式),suffix:后缀, prefix:前缀, dir:目录
              
              
                with
              
               tempfile
              
                .
              
              NamedTemporaryFile
              
                (
              
              mode
              
                =
              
              
                'w+t'
              
              
                ,
              
               suffix
              
                =
              
              
                '.txt'
              
              
                ,
              
               prefix
              
                =
              
              
                'tp_'
              
              
                ,
              
              
                dir
              
              
                =
              
              
                '/home/china/tmp/py_rs_file'
              
              
                ,
              
              delete
              
                =
              
              
                False
              
              
                )
              
              
                as
              
               tmpfile
              
                :
              
              
    file_name 
              
                =
              
               tmpfile
              
                .
              
              name
    
              
                print
              
              
                (
              
              file_name
              
                )
              
              
                #/home/china/tmp/py_rs_file/tp_fcwpmh3l.txt
              
              
    tmpfile
              
                .
              
              write
              
                (
              
              
                'study hard and make progress everyday'
              
              
                )
              
              
    tmpfile
              
                .
              
              seek
              
                (
              
              
                0
              
              
                )
              
              
    tmpTxt 
              
                =
              
               tmpfile
              
                .
              
              read
              
                (
              
              
                )
              
              
                print
              
              
                (
              
              tmpTxt
              
                )
              
            
          

更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论