String python,删除列表的一部分(以及更多)

String python,删除列表的一部分(以及更多),string,python-2.7,list,pygame,String,Python 2.7,List,Pygame,我正在为我的树莓皮做一个音乐播放器。 应该从我的列表中的字符串中删除“/home/pi/Desktop/Muziek/”。但我一直收到以下错误: Traceback (most recent call last): File "/home/pi/Desktop/Music Player(Alpha2.2).py", line 19, in <module> pygame.mixer.music.load(SongPath + Song[0]) error: Couldn'

我正在为我的树莓皮做一个音乐播放器。 应该从我的列表中的字符串中删除“/home/pi/Desktop/Muziek/”。但我一直收到以下错误:

Traceback (most recent call last):
  File "/home/pi/Desktop/Music Player(Alpha2.2).py", line 19, in <module>
    pygame.mixer.music.load(SongPath + Song[0])
error: Couldn't open ' Toto - Africa.mp3'
>>> 

我使用os.listdir(“”)而不是glob。

您能验证路径是否存在吗?如果不使用s.strip()和s.replace()删除文件的完整路径,则打印(os.path.exists(Song[0]),它应该可以正常工作。您从与音乐文件所在目录不同的目录运行该程序。这是打字错误还是歌曲标题中有额外的
空间
“Toto-Africa.mp3”
?不要删除路径。删除路径后,播放器不会打开文件夹
/home/pi/Desktop/Muziek/
中的文件,但可能是从
/home/pi/Desktop/
@Mike Bessonov是的,但是当我显示歌曲名称时,你也会看到完整的路径。。
import glob
Song1 = glob.glob('/home/pi/Desktop/Muziek/*.mp3')
Song2 = glob.glob('/home/pi/Desktop/Muziek/*.ogg')
Song = Song1 + Song2
Song = [s.strip('/home/pi/Desktop/Muziek/') for s in Song]
Song = [s.replace('/home/pi/Desktop/Muziek/','') for s in Song]
SongPath = '/home/pi/Desktop/Muziek/ 
print('Music Player(Alpha2.2)')
import pygame
from time import sleep
Song = sorted(Song)
CurrentSong = 0
State = 'Playing'
pygame.mixer.init()
pygame.mixer.music.load(SongPath + Song[0])
pygame.mixer.music.play()
print("Songs:")
for i in range(0, len(Song)):
    print(i+1, Song[i])
print('\nStarted auto play on:\n' + Song[CurrentSong])