2017-10-14 14 views
0

Ich versuche einen Code zu schreiben, der eine MP3-Datei in einem Verzeichnis durchsucht und abspielt. Aber ich bekomme diesen Fehler. Der Code istPython 3 - os.startfile() - WindowsError: [Fehler 2] Das System kann die angegebene Datei nicht finden: 'file_name'

import os 

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 

Und die Fehler, die ich immer bin, ist diese

>>> 
File Name: Kalimba.mp3 
File Exists in: C:\Users\MrittikaMukut\Desktop\test 

Traceback (most recent call last): 
    File "C:\Users\MrittikaMukut\Desktop\test\search-2.py", line 16, in 
<module> 
    os.startfile('file_name') 
WindowsError: [Error 2] The system cannot find the file specified: 
'file_name' 
>>> 

Aber wenn ich einen Code ähnlich wie diese ausgeführt werden, die zufällig eine MP3-Datei aus einem Verzeichnis aufnimmt und es spielt, es funktioniert fein. Hier ist der Code dafür.

import random,os,sys 

folder=os.listdir(os.getcwd()) 
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() 

##os.startfile(random.choice(folder)) 

Ich bin verwirrt und brauche etwas Hilfe. Vielen Dank im Voraus.

+0

'os.startfile ('file_name')' sollte 'os.startfile (file_name)' sein – ZdaR

Antwort

0

Entfernen Sie die Anführungszeichen um 'Dateiname'. Verwenden Sie es wie unten,

os.startfile(file_name) 
Verwandte Themen