创建临时文件及文件夹

  • 创建临时文件存储数据
    • 1、临时文件的读取以光标为准
    • 2、光标后存在内容,会进行文本覆盖
    • 3、临时文件销毁后不能再进行二次读写
  • 创建临时文件夹

创建临时文件存储数据

在临时文件进行数据读写,需要了解Python读写文件以及 tempfile 模块

1、临时文件的读取以光标为准

from tempfile import TemporaryFilef = TemporaryFile('w+')
# w+ 表示写入及读取文件f.write('Hello world!')data1 = f.readlines()
print(data1)# 输出结果 []

此时光标位于 'Hello world! ’ 的感叹号后,所以临时文件的读取的时候没有读取到内容

from tempfile import TemporaryFilef = TemporaryFile('w+')f.write('Hello world!\n')
f.write('Hello bobo!')f.seek(0)
# .seek(0)表示回到文件开头位置,若没有该语句,
# 则光标位于 Hello bobo!感叹号后,读取时读取内容为空data = f.readlines()
print(data)f.close()# 程序运行完后会自动删掉临时文件# 运行结果:['Hello world!\n', 'Hello bobo!']

2、光标后存在内容,会进行文本覆盖

from tempfile import TemporaryFilef = TemporaryFile('w+')f.write('Hello world!\n')
data1 = f.readlines()
print(data1)
f.seek(0)f.write('Hello bobo!')
f.seek(0)
data2 = f.readlines()
print(data2)输出结果:
[]
['Hello bobo!!\n']可以发现,第一次写完'Hello world!\n'后,光标没有回到文件开头,
进行第一次读取时,光标位于 \n后,所以读取的为空;
光标回到文件开头后,再进行第二次写操作时,,所以进行了文本覆盖
from tempfile import TemporaryFilef = TemporaryFile('w+')f.write('Hello world!\n')
f.seek(0)
data1 = f.readlines()
print(data1)f.write('Hello bobo!')
f.seek(0)
data2 = f.readlines()
print(data2)输出结果:
['Hello world!\n']
['Hello world!\n', 'Hello bobo!']可以发现,第一次写完'Hello world!\n'后,光标回到了文件开头,
进行第一次读取后,光标位于 \n后;
然后再进行第二次写操作时,光标位于是 \n后,所以没有进行文本覆盖

3、临时文件销毁后不能再进行二次读写

from tempfile import TemporaryFilewith TemporaryFile('w+') as f:f.write('Hello world!\n')f.seek(0)data1 = f.readlines()print(data1)f.write('Hello bobo!')
f.seek(0)data2 = f.readlines()
print(data2)输出结果:
['Hello world!\n']Traceback (most recent call last):File "/media/bobo/648CEBCD8CEB9836/Python/自动化办公/temporaryFile模块/temporaryDirectoryDemo2.py", line 17, in <module>f.write('Hello bobo!')
ValueError: I/O operation on closed file.可以发现,with语句结束后,临时文件已销毁,所以再次读写会报错

创建临时文件夹

import time
from tempfile import TemporaryDirectorywith TemporaryDirectory() as tmp_folder:print(f'临时文件夹已创建:{tmp_folder}')time.sleep(60)print('此语句打印后临时文件夹将销毁')print('临时文件夹已销毁')# 程序结束后会自动删掉该文件夹# 输出结果 临时文件夹已创建:/tmp/tmpnc3coasa

可根据输出的路径去 /tmp文件夹下查找,可以发现,60s后,程序运行结束,临时文件夹也被销毁

创建临时文件及文件夹相关推荐

  1. 《Python Cookbook 3rd》笔记(5.19):创建临时文件和文件夹

    创建临时文件和文件夹 问题 你需要在程序执行时创建一个临时文件或目录,并希望使用完之后可以自动销毁掉. 解法 tempfile 模块中有很多的函数可以完成这任务.为了创建一个匿名的临时文件,可以使用 ...

  2. c语言创建临时文件,5.19 创建临时文件和文件夹

    问题 你需要在程序执行时创建一个临时文件或目录,并希望使用完之后可以自动销毁掉. 解决方案 tempfile 模块中有很多的函数可以完成这任务.为了创建一个匿名的临时文件,可以使用 tempfile. ...

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

    python中临时文件及文件夹使用 文章目录 python中临时文件及文件夹使用 一.简介 二.临时文件夹 2.1 获取临时文件夹 2.2 生成临时文件夹 三.临时文件 3.1 生成不自动删除(关闭时 ...

  4. android 创建隐藏文件夹吗,Android创建隐藏文件可能文件夹

    Android创建隐藏文件或者文件夹 android创建隐藏文件或者文件夹,其实只要在文件名或者文件夹名字前加一个点号即可. 隐藏文件(夹)可直接进行读写. 如果需要去除隐藏,那就是重命名,去除点即可 ...

  5. R语言使用fs包的dir_create函数在指定路径下创建新的文件夹、使用file_create函数在指定文件夹下创建文件

    R语言使用fs包的dir_create函数在指定路径下创建新的文件夹.使用file_create函数在指定文件夹下创建文件 目录

  6. Linux中用mkdir同时创建多个文件夹

    Linux中用mkdir同时创建多个文件夹 文章目录: 一.mkdir同时创建多个同级目录 二.mkdir同时创建多个递归目录 一.mkdir同时创建多个同级目录 命令:mkdir test1 tes ...

  7. IOS之自动创建项目各个文件夹

    IOS之自动创建项目各个文件夹 // // main.m // AutoCreateGroup // // Created by lujun on 2021/10/29. //#import < ...

  8. 如何批量在文件夹中建立php,怎么批量创建文件夹_一次性创建多个文件夹方法_一聚教程网...

    相信大家在平时的工作或是生活中,经常会遇到需要创建多个文件夹的问题,那么对于这种一次性创建多个文件夹的问题怎么解决呢?这里文章就给大家具体介绍下批量创建多个文件夹的问题,感兴趣的一起来了解下. 日常工 ...

  9. mkdir cd 创建并进入文件夹,创建并进入目录,只写一遍目录名, `$_`获取最后一个参数, 笔记221108

    mkdir -p /x/y/z ; cd $_ mkdir -p dirName ; cd $_ mkdir -p folderName;cd $_ 创建并进入文件夹的通常方法是先创建文件夹再进入文件 ...

最新文章

  1. linux下redis安装教程,linux下安装配置redis图文详解
  2. [Xcode 实际操作]六、媒体与动画-(3)使用CoreImage框架设置图片的单色效果
  3. VMware 安装ubuntu 18.04遇到的问题
  4. matlab模糊推理,模糊推理系统的matlab代码
  5. C#LeetCode刷题之#53-最大子序和(Maximum Subarray)
  6. html加载本地pdf,WkHTMLtoPDF不加载本地CSS和图像
  7. 基于声波的手势识别技术
  8. win10系统打开tftp服务器,win10设置tftp服务器配置
  9. 【STM32H7的DSP教程】第22章 DSP矩阵运算-放缩,乘法和转置矩阵
  10. Windows 8 应用开发 - 磁贴
  11. 十年优秀网络玄幻小说大点评(推荐)
  12. 如何0成本搭建外卖CPS返利小程序
  13. Android:ViewPager详解(异步网络加载图片,带图片缓存,并带导航小圆点)
  14. 精通AngularJS(三)深入scope,继承结构,事件系统和生命周期
  15. uIP中国的协议文件:Ch01
  16. 二十一世纪大学英语读写基础教程学习笔记(原文)——8 - Young and in Love(超年轻恋人)
  17. 马斯洛“需求层次理论” 在《植物大战僵尸》中的运用
  18. 基于微信小程序的在线考试系统开题报告
  19. MeiShe Face Sticker Design Plugin AR Scene Editor Instruction
  20. 用mysql触发器做数据统计

热门文章

  1. Taichi 加速 Python 中图像处理
  2. PDPS15.0机器人汽车件焊接 喷涂 人机仿真视频教程
  3. 05、解决chunk-elementUI.3d5a4739.js 过大导致网页打开慢
  4. 解决Echarts柱形图正负数在同一侧,并设置正负值不同颜色
  5. HIR夏季挑战赛作品紧急优化
  6. Android与ARM处理器
  7. Magic Firewall 简介
  8. Flutter 替换高德定位默认图标
  9. 初学者应该买什么样的吉他 |新手建议|新手必看
  10. 做为一名程序员应该有的的好习惯