【问题标题】:how to create file names from a number plus a suffix in python如何在python中从数字加上后缀创建文件名
【发布时间】:2010-10-21 19:51:31
【问题描述】:

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

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

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

感谢您的帮助和关注

【问题讨论】:

  • 很遗憾地告诉您,除了生成不冲突且可以由多个应用程序访问的文件名之外,您的问题是什么,甚至您想要做什么并不完全清楚(立刻)。请修改您的问题以添加更多详细信息。
  • 你好。好吧,我已经总结了这个问题,只是从他们的角度给出了他们的答案,我的问题是我不期望任何特别的精确答案。再次感谢:-)
  • “我不希望有什么特别的准确答案” 那为什么要问呢?如果您想要任何答案,请提供一些示例。请提供一些代码来显示您希望程序的外观——即使它不起作用。请提供一些详细信息,以便我们知道您在说什么。

标签: python filenames


【解决方案1】:

据我所知,您想在一个程序中创建一个具有唯一名称的文件,并将该文件的名称传递给另一个程序。我认为你应该看看 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-02
    • 1970-01-01
    • 1970-01-01
    • 2021-03-14
    • 2014-11-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多