繁体   English   中英

如何使用Python 3从文件夹/目录搜索和播放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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM