Преобразование одного элемента ввода списка в строку для объединения с местоположением файла

#python #string #list #file

#python #строка #Список #файл

Вопрос:

Я пытаюсь записать определенную информацию о файле в словарь на основе пользовательского списка ввода, содержащего имена проб.

 def health(input):
    file_location = "./data/health_data/"
    dictionary= {}

    return(dictionary)

  

и у меня есть набор файлов в папке health_data, таких как 010.csv 011.csv 012.csv и т.д.

Пользователь может ввести список испытаний лекарств таким образом, чтобы он выглядел как:

 input = ["010", "011"] 
  

Итак, что я хочу сделать, это запустить цикл, чтобы каждый элемент списка был объединен с file_location, чтобы он мог выглядеть так:

 
for i in input:

    file_location ="./data/health_data/i.csv"


  

С чем я борюсь, так это с объединением входных данных в строку расположения файла. Я пытался .join() и пытался добавить их, но я получаю сообщение об ошибке, что только str может объединяться с str, а не «список»

Как я могу преобразовать список, указанный во входных данных, в строку, чтобы затем объединить его с переменной file_location ?

Ответ №1:

Предполагая, что вы используете Python 3.6 , вы можете использовать f-строку:

 for i in input:
    file_location = f"./data/health_data/{i}.csv"
    do_stuff()
  

Комментарии:

1. @McMckinson Поскольку вы имеете дело с путями файловой системы, вам следует рассмотреть возможность использования pathlib, если ситуация станет более сложной.