python生成文件怎么在文件名后面加1而不是覆盖_Python:如何创建一个唯一的文件名?...

如果要在Python中生成临时文件,Python的标准库中有一个名为tempfile的模块。如果要启动其他程序对文件进行操作,请使用tempfile.mkstemp()创建文件,使用os.fdopen()访问mkstemp()提供的文件描述符。

顺便说一句,你说你在运行一个Python程序的命令?您几乎肯定应该使用subprocess模块。

因此,您可以非常愉快地编写如下代码:import subprocess

import tempfile

import os

(fd, filename) = tempfile.mkstemp()

try:

tfile = os.fdopen(fd, "w")

tfile.write("Hello, world!\n")

tfile.close()

subprocess.Popen(["/bin/cat", filename]).wait()

finally:

os.remove(filename)

运行这个命令,您会发现cat命令工作得非常好,但是临时文件在finally块中被删除了。请注意,要删除mkstemp()自己返回的临时文件,您必须删除它-库无法知道您何时处理完它!

(编辑:我曾假设NamedTemporaryFile完全按照您的要求执行,但这可能不太方便—当temp file对象关闭时,该文件会立即被删除,而让其他进程在您关闭之前打开该文件在某些平台(尤其是Windows)上不会起作用。对不起,我失败了。)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值