如何从数字加上后缀创建文件名。
例如我在python脚本中使用两个程序在服务器中工作,第一个创建文件x,第二个使用x文件,问题是该文件无法覆盖。
无论第一个程序生成什么名称。第二个程序完全取自分配用于继续脚本的路径和文件名。
感谢您的帮助和关注
答案 0 :(得分:3)
据我所知,您希望在一个程序中创建一个具有唯一名称的文件,并将该文件的名称传递给另一个程序。我想你应该看一下tempfile模块http://docs.python.org/library/tempfile.html#module-tempfile。
以下是使用NamedTemporaryFile的示例:
import tempfile
import os
def produce(text):
with tempfile.NamedTemporaryFile(suffix=".txt", delete=False) as f:
f.write(text)
return f.name
def consume(filename):
try:
with open(filename) as f:
return f.read()
finally:
os.remove(filename)
if __name__ == '__main__':
filename = produce('Hello, world')
print('Filename is: {0}'.format(filename))
text = consume(filename)
print('Text is: {0}'.format(text))
assert not os.path.exists(filename)
输出是这样的:
Filename is: /tmp/tmpp_iSrw.txt
Text is: Hello, world