如何在python中创建一个数字加上后缀的文件名

时间:2010-10-21 19:51:31

标签: python filenames

如何从数字加上后缀创建文件名。

例如我在python脚本中使用两个程序在服务器中工作,第一个创建文件x,第二个使用x文件,问题是该文件无法覆盖。

无论第一个程序生成什么名称。第二个程序完全取自分配用于继续脚本的路径和文件名。

感谢您的帮助和关注

1 个答案:

答案 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