#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())
(Или в вашем случае расширить)