当前位置: 首页 > news >正文

网站建设和维护待遇网站重构怎么做

网站建设和维护待遇,网站重构怎么做,wordpress写文章 字号,安徽省住房和城乡建设厅官网证件查询临时文件tempfile 1.概述 安全地创建具有唯一名称的临时文件#xff0c;以至于他们不会被那些想破坏或者窃取数据的人猜出是非常有挑战性的。tempfile 模块提供了几个安全地创建系统临时文件的方法。 TemporaryFile() 打开并返回一个未命名的临时文件#xff0c; NamedTemp…临时文件tempfile 1.概述 安全地创建具有唯一名称的临时文件以至于他们不会被那些想破坏或者窃取数据的人猜出是非常有挑战性的。tempfile 模块提供了几个安全地创建系统临时文件的方法。 TemporaryFile() 打开并返回一个未命名的临时文件 NamedTemporaryFile() 打开并返回一个命名临时文件SpooledTemporaryFile 会在将数据写入磁盘之前将内容保存在内存中TemporaryDirectory 是一个上下文管理器它会在上下文关闭的时候移除目录。 2.临时文件TemporaryFile 如果需要临时文件来存储数据而不需要与其他程序共享这些文件可以使用TemporaryFile创建临时文件它创建的文件其他程序是不能找到或打开的因为这个文件在系统表中根本没有对它的引用。不论通过close还是with语句关闭文件时都会自动删除这个文件。 2.1.创建临时文件 这个例子展示了采用不同方法创建临时文件的差别一种做法是使用常规方式构建一个临时文件的文件名称另一种是使用TemporaryFile函数创建临时文件它返回的文件没有名称并且with语句结束后自动删除临时文件。 import os import tempfileprint(Building a filename with PID:) filename /tmp/guess_my_name.{}.txt.format(os.getpid()) with open(filename, wb) as temp:print(temp:)print( {!r}.format(temp))print(temp.name:)print( {!r}.format(temp.name))# 自己手动清除临时文件 os.remove(filename)print() print(TemporaryFile:) with tempfile.TemporaryFile() as temp:print(temp:)print( {!r}.format(temp))print(temp.name:)print( {!r}.format(temp.name))# 自动清除文件运行代码使用TemporaryFile函数创建临时文件比常规方法要简单而且文件名不会重复关闭时自动删除临时文件。 Building a filename with PID: temp:_io.BufferedRandom name/tmp/guess_my_name.60756.txt temp.name:/tmp/guess_my_name.60756.txtTemporaryFile: temp:_io.BufferedRandom name3 temp.name:3 2.2.读写临时文件 1.字节模式读写 TemporaryFile默认使用wb模块创建文件方便在所有平台表现一致。允许调用者读写这个文件。 向文件写入内容后需要执行seek函数才能从临时文件中读取到内容。 import os import tempfilewith tempfile.TemporaryFile() as temp:# 写入内容temp.write(bSome data)# 刷新temp.seek(0)# 读取内容print(temp.read())bSome data2.文本模式读写 要使用文本模式读写文件内容TemporaryFile创建临时文件时设置模式为wt import tempfilewith tempfile.TemporaryFile(modewt) as f:f.writelines([first\n, second\n])f.seek(0)for line in f:print(line.rstrip())运行结果输出文本类型 first second3.命名临时文件NamedTemporaryFile 在某些情况下命名临时文件很重要。对于跨进程甚至跨主机应用程序来说应用程序各部分之间最简单的数据传递方式是命名文件。 NamedTemporaryFile() 方法会创建一个文件但不会取消链接所以它会保留名称可以通过 name 属性读取。 import os import pathlib import tempfilewith tempfile.NamedTemporaryFile() as temp:print(temp:)print( {!r}.format(temp))print(temp.name:)print( {!r}.format(temp.name))f pathlib.Path(temp.name)# with语句执行完临时文件自动删除 print(Exists after close:, f.exists())运行结果 temp:tempfile._TemporaryFileWrapper object at 0x1047e9600 temp.name:/var/folders/2k/c77m3hts5l50dj09vc3mw74r0000gn/T/tmpx37l6m04 Exists after close: False4.假脱机文件 临时文件如果保存数据相对较小时使用 SpooledTemporaryFile 可能效率更高因为它在内容数量超过阈值之前使用 io.BytesIO 或者 io.StringIO 将数据保存到内存中。当数据量超过阈值之后数据将会被写入磁盘保存与此同时缓冲池也会被替换为 TemporaryFile()。 import tempfilewith tempfile.SpooledTemporaryFile(max_size100,modewt,encodingutf-8) as temp:print(temp: {!r}.format(temp))for i in range(3):temp.write(This line is repeated over and over.\n)print(temp._rolled, temp._file)运行结果 temp: tempfile.SpooledTemporaryFile object at 0x1096dda50 False _io.TextIOWrapper encodingutf-8 False _io.TextIOWrapper encodingutf-8 True _io.TextIOWrapper name3 modewt encodingutf-8 也可以显式调用 rollover() 或者 fileno() 方法将数据写入到磁盘 import tempfilewith tempfile.SpooledTemporaryFile(max_size1000,modewt,encodingutf-8) as temp:print(temp: {!r}.format(temp))for i in range(3):temp.write(This line is repeated over and over.\n)print(temp._rolled, temp._file)print(rolling over)temp.rollover()print(temp._rolled, temp._file)运行代码调用rollover()方法在磁盘上创建文件。 temp: tempfile.SpooledTemporaryFile object at 0x103756a10 False _io.TextIOWrapper encodingutf-8 False _io.TextIOWrapper encodingutf-8 False _io.TextIOWrapper encodingutf-8 rolling over True _io.TextIOWrapper name3 modewt encodingutf-8 5.临时目录TemporaryDirectory 当需要几个临时文件的时候使用 TemporaryDirectory 创建一个临时目录并打开所有文件可能会更方便。 import pathlib import tempfilewith tempfile.TemporaryDirectory() as directory_name:the_dir pathlib.Path(directory_name)print(the_dir)a_file the_dir / a_file.txta_file.write_text(This file is deleted.)print(Directory exists after?, the_dir.exists()) print(Contents after:, list(the_dir.glob(*)))运行代码上下文管理器创建了目录在上下文块里创建文件。上下文结束后会自动删除临时目录和文件 /var/folders/2k/c77m3hts5l50dj09vc3mw74r0000gn/T/tmpr9uxk9yz Directory exists after? False Contents after: [] 6.预测名 虽然生成的临时文件名称中包含可预测部分比起严格匿名文件安全性较低但可以找到该文件并对其进行检查以用于调试。 到目前讲述的所有方法都采用三个参数在一定程度上控制文件名名称生成规则如下 prefix前缀和suffix后缀参数与一个随机的字符串结合起来建立文件名dir参数保持不变作为新文件的位置。 dir prefix random suffiximport tempfilewith tempfile.NamedTemporaryFile(suffix_suffix,prefixprefix_,dir/tmp) as temp:print(temp:)print( , temp)print(temp.name:)print( , temp.name)运行结果 temp:tempfile._TemporaryFileWrapper object at 0x10cc8fdc0 temp.name:/tmp/prefix_bg25ttl5_suffix 7.临时文件位置 如果没有显式地使用 dir 参数设置临时文件存放的目录那么临时文件存放的位置将基于操作系统设置。tempfile 模块提供了两个方法用于在运行时查询这个设置。 gettempdir() 方法返回默认的临时文件存放位置 gettempprefix() 返回新临时文件和目录名称的前缀。 gettempdir() 通过直接查询一个列表用来确定当前进程新创建文件的存放位置。搜索的列表依次是 环境变量TMPDIR环境变量TEMP环境变量TMP系统备选值。 Windows 上采取 C:\temp, C:\tmp, \temp, 或者 \tmp 中的第一个可用值。其他平台使用 /tmp, /var/tmp, 或者 /usr/tmp 。 如果以上都不可用那么就会使用当前目录。 import tempfileprint(gettempdir():, tempfile.gettempdir()) print(gettempprefix():, tempfile.gettempprefix())运行结果 gettempdir(): /var/folders/2k/c77m3hts5l50dj09vc3mw74r0000gn/T gettempprefix(): tmp 如果需要使用一个全局目录存储所有临时文件且不依赖环境变量的程序应该手动设置 tempfile.tempdir 直接给其赋值即可。 import tempfiletempfile.tempdir /I/changed/this/path print(gettempdir():, tempfile.gettempdir())运行结果 gettempdir(): /I/changed/this/path
http://www.hkea.cn/news/14311137/

相关文章:

  • 企业网站psd模板中国建筑工程网施工组织设计
  • 用自己电脑做服务器建网站wordpress最大上传尺寸
  • 可以写代码的网站门户网站建设招标书
  • 如何制作自己公司网站微信微官网如何制作
  • 网站后台密码破解教程怎么用网站做类似微博
  • node可以做电商网站么一站式服务中心
  • 常州城乡和住房建设厅网站汕头cms建站模板
  • 在线简历免费制作网站常平众展做网站
  • 国际网站开发客户wordpress本地化插件
  • 建设公司网站需要多少钱泊头网站建设价格
  • 外贸做包装袋哪个网站好汽车用品东莞网站建设
  • 前端做网站需要无锡网站建设网页制作
  • 找设计案例的网站网站建设与维护的实训总结
  • 好的网站建设启示成都网站建设
  • 美工设计网站推荐垫江网站建设报价
  • 网站建设+三乐网站制作厦门
  • 做词云的在线网站云建网站网址
  • 古玩网站建设意义云程环境建设集团网站
  • 做网站编程时容易遇到的问题php网站开发考试
  • 产品展示网站模板源码网站营销看法
  • 兰州网站哪里做专门做民宿的网站
  • 专业外贸网站制作南昌建设人才网站
  • wordpress comment meta query网站建设优化开发公司哪家好
  • 做网站图片代码怎么居中wordpress html5支持
  • 专做律所网站ps做网站难吗
  • 17做网站广州沙河地址世界军事
  • 网站建设与网页设计试卷安徽建设厅网站施
  • 网站建设对接流程图网络公司网站设计维护合同
  • 七台河建网站网络内容建设包括什么
  • 阿勒泰网站建设施工企业资质序列