如何使用 Python 3 从 folder/directory 搜索和播放 mp3 文件?

How to search and play a mp3 file from a folder/directory using Python 3?

我想写一个 python 代码,当给定一个字符串(要搜索的 mp3 文件的名称)时,它将搜索与给定字符串与文件名匹配的目录。找到后打开播放。

我有一个代码可以在给定目录中搜​​索给定字符串。是否可以修改此代码以实现上述任务?谢谢你。 `

#Import os module
import os

# Ask the user to enter string to search
search_path = input("Enter directory path to search : ")
file_type = input("File Type : ")
search_str = input("Enter the search string : ")

# Append a directory separator if not already present
if not (search_path.endswith("/") or search_path.endswith("\") ): 
        search_path = search_path + "/"

# If path does not exist, set search path to current directory
if not os.path.exists(search_path):
        search_path ="."

# Repeat for each file in the directory  
for fname in os.listdir(path=search_path):

   # Apply file type filter   
   if fname.endswith(file_type):

        # Open file for reading
        fo = open(search_path + fname)

        # Read the first line from the file
        line = fo.readline()

        # Initialize counter for line number
        line_no = 1

        # Loop until EOF
        while line != '' :
                # Search for string in line
                index = line.find(search_str)
                if ( index != -1) :
                    print(fname, "[", line_no, ",", index, "] ", line, sep="")

                # Read next line
                line = fo.readline()  

                # Increment line counter
                line_no += 1
        # Close the files
        fo.close()

此代码略有不同,但最适合解决上述问题。

!/usr/bin/env python3

import os
import random
import sys

rdm = raw_input("Would you let me make a choice? 0 or 1: ")

#cur_dir = os.getcwd()

if rdm == '1':
    print("Playing random song")
    folder=os.listdir(os.getcwd()) #To randomly play a song
    file=random.choice(folder)
    ext3=['.mp3']
    print('First random pick: '+file)

    while file[-4:] not in ext3 :
        print('Not an MP3 file  : '+file)
        file=random.choice(folder)
    else:
        os.startfile(file)
        print('Song name: '+file)

    sys.exit()

else:
    if rdm == '0':
        file_name = raw_input("File Name: ") #file to be searched
        #cur_dir = raw_input("Search Directory: ") # Dir from where search starts can be replaced with any path
        cur_dir = os.getcwd()
        while True:
            file_list = os.listdir(cur_dir)
            parent_dir = os.path.dirname(cur_dir)
            if file_name in file_list:
                print ("File Exists in: "), cur_dir
                #
                os.startfile(file_name)
                #
                break
            else:
                if cur_dir == parent_dir: #if dir is root dir
                    print ("File not found")
                    break
                else:
                    cur_dir = parent_dir