Чтение содержимого файла, имя которого хранится в переменной

#python #file #variables #directory

#python #файл #переменные #каталог

Вопрос:

Следующий код сначала создает список всех файлов в папке с именем films, а затем пытается получить доступ к содержимому определенного файла. Я знаю, как это сделать, если имя файла является литералом, но может кто-нибудь, пожалуйста, объяснить, как это можно сделать, если имя файла или каталога является переменной?

 path = 'films'

from os import walk

f = []
for (filenames) in walk(path):
    f.extend(filenames) 
    break

listoffiles = f[2]
print("listoffiles: ",listoffiles)  
 
read = open('films/{listoffiles[0]}',"r")
print("read: ",str(read.read()))
 

Ответ №1:

просто измените его на

 read = open(f'films/{listoffiles[0]}',"r")
 

Ответ №2:

 path = 'films'

from os import walk

f = []
for (filenames) in walk(path):
    f.extend(filenames) 
    break

listoffiles = f[2]
print("listoffiles: ",listoffiles)  
 
read = open('sentences/' listoffiles[0],"r")
print("read: ",str(read.read()))
 

Не уверен в вашей логике, но вы можете составить строку с помощью оператора.

Ответ №3:

Если «имя файла является переменной», оно представляет строку.

Итак, вы можете сделать следующее:

 with open(filenames) as open_file: 
    print(open_file.readlines())
 

(Или в вашем случае расширить)