Gremlin92
@Gremlin92
Целеустремленный

Как считать через строку в python?

Есть файл с такими данными строка :путь к файлу и следущая длительность
Z:\Автоматизация\музыка для радио от Сергея Косякова\Tigerforest (2006-2012)\2006 - The Sound Of Life\12 - Crossing The Horizon.mp3
296.789508
Z:\Автоматизация\музыка для радио от Сергея Косякова\Tigerforest (2006-2012)\2006 - The Sound Of Life\13 - Departure To Terminal 4.mp3
367.826727
Z:\Автоматизация\музыка для радио от Сергея Косякова\Tigerforest (2006-2012)\2006 - The Sound Of Life\08 - Riding The Wind (feat. Inga).mp3
245.719165
Z:\Автоматизация\музыка для радио от Сергея Косякова\Tigerforest (2006-2012)\2006 - The Sound Of Life\11 - Peacemaker (feat. Amy Barbera).mp3
255.557898
Z:\Автоматизация\музыка для радио от Сергея Косякова\Tigerforest (2006-2012)\2006 - The Sound Of Life\09 - Longing For The Sun.mp3
285.537559
Z:\Автоматизация\музыка для радио от Сергея Косякова\Tigerforest (2006-2012)\2006 - The Sound Of Life\03 - Summer Rain.mp3
263.549641
.............. и т.д.

там я считал длительность библиотекой для с++ но она неправильно длительность считала, нужно загнать строки путей в массив и использовать вот этот код
from mutagen.mp3 import MP3
f = MP3('D:\disk_d\music\لديك حثالة فية - Куда несёт дым.  (vksaver).mp3')
print(f.info.length)

желательно в файл с тем же форматом из которого считываем
  • Вопрос задан
  • 87 просмотров
Решения вопроса 1
Gremlin92
@Gremlin92 Автор вопроса
Целеустремленный
from mutagen.mp3 import MP3
ff = open('C:\\Users\\User\\source\\repos\\Project1\\Project1\\playlist3.m3u8', 'r')
array_of_strings = ff.read().split('\n')
ff.close()
ff = open('C:\\Users\\User\\source\\repos\\Project1\\Project1\\playlist5.m3u8','w')
for i in range(len(array_of_strings)):
    if i % 2 == 0:
        f = MP3(array_of_strings[i])
        ff.write(array_of_strings[i]+'\n')
        ff.write(str(f.info.length)+'\n')
ff.close()
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
with open('input.txt', encoding='utf-8') as in_fh, open('output.txt', 'w', encoding='utf-8') as out_fh:
    for s, _ in zip(in_fh, in_fh):
        f = MP3(s.strip())
        out_fh.write('{}{}\n'.format(s, str(f.info.length)))
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы