Guten标记每个人。
我是Python的新手,我正在尝试重新创建一个简单的MP3播放器。
当我运行下面的代码弹出UI并询问目录时,但当我导航到我的mp3文件所在的位置时,我收到消息“没有项目与您的搜索匹配”。我可以通过普通的文件浏览器导航并播放我的所有文件而不会出现问题。
当我点击取消时,我收到错误“OSError:[WinError 123]文件名,目录名或卷标语法不正确:''”
我在使用Python 3.6的Windows 10计算机上。我正在使用Sublime和Anaconda来运行代码。
我查看了google,stack,youtube,文档,但无法弄清楚我做错了什么。在此先感谢您的帮助。
import os
import pygame
import tkinter
from tkinter.filedialog import askdirectory
root = tkinter.Tk()
root.minsize(300, 300)
songList = []
index = 0
def directorychooser():
directory = askdirectory()
os.chdir(directory)
for files in os.listdir(directory):
if files.endswith('mp3'):
songList.append(files)
print("songList")
directorychooser()
答案 0 :(得分:0)
您可以检查您选择的路径是绝对路径(以' C:\'开头)还是相对路径。如果它绝对应该有效。
但是,如果它是相对的(例如当前文件夹中的音乐'),则在列出之前更改目录(chdir
)将不起作用。你应该打印出来。
除非在特定情况下,否则您应尝试删除不需要的os.chdir
来电。
您还可以将路径更改为绝对路径:
directory = os.path.abspath(directory)
在做os.chdir
之前。
对于取消案例,您应该验证目录是否存在(如果您点击取消,它将返回None):
if directory:
<Look for files>