【问题标题】:Generate a filename in python在python中生成文件名
【发布时间】:2020-03-16 12:37:14
【问题描述】:

我感觉这个问题之前已经回答过很多次了,但是我什么都找不到。

我有一个脚本,它将文本作为命令行参数,然后生成包含文本的图像。它为输入到命令行的每个单词生成图像,但我不知道如何保存它们。我想这样保存它们;第一张图片会保存为 0001.png,第二张图片会保存为 0002.png 以此类推,我该怎么做?

【问题讨论】:

  • @Carcigenicate 我真的只是不知道如何生成这种格式的字符串(0001)以及如何将它与“.png”结合起来形成一个有效的文件名
  • 您在哪个部分遇到了问题?您需要帮助弄清楚如何将图像保存到文件中吗?或者您在生成文件名方面需要帮助吗?
  • 对于前导零,请查看str.format()。或谷歌“python前导零”。
  • 这能回答你的问题吗? Display number with leading zeros

标签: python python-3.x file text auto-generate


【解决方案1】:

使用 f-strings,你可以指定数字最少应该有多少个 0:

for i in range(1, 1200, 103): # Just to generate bigger numbers
    print(f"{i:04d}.png")

输出:

0001.png
0104.png
0207.png
0310.png
0413.png
0516.png
0619.png
0722.png
0825.png
0928.png
1031.png
1134.png

【讨论】:

  • 这似乎是我需要的,但是,我怎样才能让它从 0001 而不是 0000 生成?
  • 只需将范围更改为从 1 开始并转到输入:for i in range(1, my_input + 1):
【解决方案2】:

你可以试试zfill方法。

例子:

n = 10
EXTN = ".png"

filename = str(n).zfill(4) + EXTN

如果你想在文件名中添加4 数字,我们在这里输入4

输出:

0010.png

【讨论】:

    猜你喜欢
    • 2018-02-01
    • 1970-01-01
    • 2017-02-17
    • 2014-12-19
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 2011-06-12
    • 1970-01-01
    相关资源
    最近更新 更多