【问题标题】:Renaming the beginning of a file name in Python在 Python 中重命名文件名的开头
【发布时间】:2021-10-15 04:24:57
【问题描述】:

我正在尝试创建一个重命名其文件夹中所有文件的可执行文件。

我不知道如何引用(和添加到)文件名的开头。

例如:

file_text.xlsx

我需要它的样子:

10-30-2021_file_text.xlsx

我想附加到文件名的开头,并添加我自己的字符串

注意:“file_text”是随机生成的文件名,并且都是唯一的。所以我需要保留唯一的名称,只需添加到每个唯一文件名的开头。

这是我迄今为止重命名其他文件的内容,我想我可以引用一个空格,但这不起作用,因为没有空格。

import os

directory = os.getcwd()

txt_replaced = ' '
txt_needed = '2021-10-31'

for f in os.listdir(directory):
    os.rename(os.path.join(directory, f),
                os.path.join(directory, f.replace(txt_needed, txt_replaced)))

我也很好奇是否有办法引用文件名中的特定位置。

例如:

text_text1.csv

如果有办法只将'text1'大写?

谢谢!

【问题讨论】:

标签: python file-rename


【解决方案1】:

replace() 不起作用,因为文件名的开头没有空格字符。所以没有什么可以替代的。

您也没有在日期后添加_ 字符。

只需使用普通的字符串连接或格式化

for f in os.listdir(directory):
    os.rename(os.path.join(directory, f),
                os.path.join(directory, f"{txt_needed}_{f}"))

【讨论】:

  • 谢谢,这是一个简单的修复。我不知道您可以在 f 字符串中引用 {f} 。欣赏它。
  • 为什么f 与另一个变量有什么不同?
猜你喜欢
  • 2015-12-11
  • 2018-06-18
  • 2019-08-13
  • 2020-03-19
  • 1970-01-01
  • 2021-02-03
  • 2013-05-07
  • 2018-02-28
相关资源
最近更新 更多