是否可以使用导入文件的名称来命名新创建的文件?

时间:2020-10-14 09:02:55

标签: python file rename naming

在我的程序中,我导入一个特定的文件,最后创建一个文件,在其中保存输出。我想使用导入文件的名称(带有一些附加内容)作为新创建的文件的名称。

由于我要导入大量文件,因此我想这样做是为了更好地了解根据哪些文件创建了哪些文件。

例如:我用file=open(‘summer.txt’)打开一个文件,我想使用原始文件的“夏季”并仅添加年份,新文件的名称将为“ summer2020.txt”。

我想自动检测导入文件的名称,添加年份,这就是我的新文件的名称。 (名称('2020')的添加对于每个打开的文件都是相同的)

我对python还是陌生的,所以我不知道这是否可行,或者是否有更好的方法。非常感谢您的帮助!

3 个答案:

答案 0 :(得分:0)

以下是自动获取当前年份的示例:

from datetime import datetime
curdate = datetime.now()
curyear = str(curdate.year)
file = open('summer'+curyear+'.txt')

答案 1 :(得分:0)

如果您使用的是Python 3.9,则可以使用pathlib和新的with_stem方法

file_path=Path('summer.txt')
new_file_path = file_path.with_stem(file_path.stem+'2020')

使用pathlib的优点是它支持多个平台(win / osx / linux)及其指定路径的不同方式。还可以让您轻松地将文件名拆分为茎summer和后缀.txt

对于3.6.5之类的python版本,您可以改为执行以下操作

new_file_path = file_path.with_name(f"{file_path.stem}2020{file_path.suffix}")

答案 2 :(得分:0)

由于文件很多,您可能想要类似的东西

import glob, shutil
myfiles = glob.glob("*.txt")
for fname in myfiles:
    basename = fname[:-4] # drop .txt at the end
    newname = f"{basname}2020.txt"
    shutil.copy(fname, newname)

相关问题