#python #list #os.walk
#питон #Список #os.walk
Вопрос:
Моя цель — перечислить только 5 записей при использовании OS walk. До сих пор мне удалось получить только список всего, что я нахожу с помощью ОС.Прогулка или перечисление только одной записи. (С помощью функции возврата)
Мой код: импорт подпроцесса импорта ОС
def playmusic(name):
for root, dirs, files in os.walk('E:\', followlinks=True):
for file in files:
if name in file:
vlc='C:/Program Files/VideoLAN/VLC/vlc.exe'
music=str(os.path.join(root,file))
print(music)
#subprocess.Popen([vlc, music])
#return
print("Finish")
input()
try:
s=raw_input("name: ")
playmusic(s)
except Exception as e:
print(e)
print("Error")
Результаты:
=== RESTART: C:UsersVGMPC2Documentstesting scriptssearch and print.py ===
name: test
E:NesJordan Vs Bird3 Point Contest.mp4
E:NesJordan Vs BirdSlam Dunk Contest.mp4
E:playlistActionamp;Adventuretest.xspf
E:playlistschedule test 2.xspf
E:SnesLufia IIThe Greatest Thieves.mp4
E:Symbolic playlistsNintendo Generation3 Point Contest.mp4
E:Symbolic playlistsNintendo GenerationSlam Dunk Contest.mp4
Finish
Если есть какой-либо способ показать только 5 вместо всего списка, это было бы здорово! Я попытался использовать len(), но у меня возникли проблемы с выяснением, как использовать его с поиском по ОС.
Я бы сказал, что самое главное music=str(os.path.join(root,file))
— это то, как это делает поиск, в который я верю.
Любые идеи будут оценены. Спасибо вам за ваше время,
Комментарии:
1. Сосчитайте до 5, а затем
break
из цикла.2. Есть ли пример, который я могу использовать, или ссылка, которую я могу исследовать относительно использования функции break для возврата только 5 строк обратно из моей функции? Я погуглил и получил некоторую информацию о break, но все примеры показывают числа, а в моей функции нет чисел. Это просто строка файлов в пути к каталогу. w3resource.com/python/python-break-continue.php
Ответ №1:
Попробуйте это:
def playmusic(name):
for root, dirs, files in os.walk('E:\', followlinks=True):
for file in files[0:5]: #You show the first five only
if name in file:
vlc='C:/Program Files/VideoLAN/VLC/vlc.exe'
music=str(os.path.join(root,file))
print(music)
#subprocess.Popen([vlc, music])
#return
print("Finish")
input()
try:
s=raw_input("name: ")
playmusic(s)
except Exception as e:
print(e)
print("Error")
Комментарии:
1. ЭТО БЫЛО ОНО!! Я знал, что это как-то связано с [] list, который использует python. (Извините — нуб. лол) Я просто не знал, как использовать это в данной ситуации. (Code academy не помогает. лол) Огромное СПАСИБО!