为什么我不能在Python中查看mp3文件?

2024-09-29 23:32:45 发布

您现在位置:Python中文网/ 问答频道 /正文

古滕给大家贴标签。你知道吗

我是Python新手,正在尝试重新创建一个简单的mp3播放器。你知道吗

当我运行下面的代码,用户界面弹出,并要求一个目录,但当我导航到我的mp3文件所在地,我得到消息“没有项目匹配您的搜索”。我可以通过普通的文件资源管理器导航到并播放我所有的文件而不会出现问题。你知道吗

单击“取消”时,出现错误“OSError:[WinError 123]文件名、目录名或卷标语法不正确:“”

我在windows10机器上,使用python3.6。我在用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()

Tags: 文件代码importostkinterrootfiles播放器
1条回答
网友
1楼 · 发布于 2024-09-29 23:32:45

您能检查一下您选择的路径是绝对路径(以“C:\”开头)还是相对路径吗。如果它是绝对的,它应该工作。你知道吗

但是,如果它是相对的(例如当前文件夹中的“Music”),则在列出之前更改目录(chdir)将不起作用。你应该把它打印出来。你知道吗

您应该尝试删除os.chdir调用,除了在非常特殊的情况下,它不是必需的。你知道吗

也可以将路径更改为绝对路径:

directory = os.path.abspath(directory)

当然,在做os.chdir之前。你知道吗

对于cancel情况,您应该验证目录是否存在(如果单击cancel,则返回None):

if directory:
    <Look for files>

相关问题 更多 >

    热门问题