在我的程序中,我导入一个特定的文件,最后创建一个文件,在其中保存输出。我想使用导入文件的名称(带有一些附加内容)作为新创建的文件的名称。
由于我要导入大量文件,因此我想这样做是为了更好地了解根据哪些文件创建了哪些文件。
例如:我用file=open(‘summer.txt’)
打开一个文件,我想使用原始文件的“夏季”并仅添加年份,新文件的名称将为“ summer2020.txt”。
我想自动检测导入文件的名称,添加年份,这就是我的新文件的名称。 (名称('2020')的添加对于每个打开的文件都是相同的)
我对python还是陌生的,所以我不知道这是否可行,或者是否有更好的方法。非常感谢您的帮助!
答案 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)