2015-03-18 2 views
0

Извините, что впервые сделал это - По сути, я получил код, который может конвертировать .wav аудиофайлы в файл .stl. Я пытаюсь запустить «wavtotext.py» в терминале, но в конечном итоге с этим IOError нет ошибки файла или каталога.(Python 2.7.6) IOError: [Errno 2] Нет такого файла или каталога: OSX Yosemite

Может ли кто-нибудь помочь?

Last login: Wed Mar 18 22:27:04 on ttys001 
/var/folders/1_/q5syr5b51zn6y9yvxd7v8mhw0000gn/T/Cleanup\ At\ Startup/wavtotext-448370838.054.py.command ; exit; 
Jags-MacBook-Pro:~ jag$ /var/folders/1_/q5syr5b51zn6y9yvxd7v8mhw0000gn/T/Cleanup\ At\ Startup/wavtotext-448370838.054.py.command ; exit; 
Traceback (most recent call last): 
    File "/private/var/folders/1_/q5syr5b51zn6y9yvxd7v8mhw0000gn/T/Cleanup At Startup/wavtotext-448370838.051.py", line 24, in <module> 
    w = wave.open(fileName, 'r') 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/wave.py", line 502, in open 
    return Wave_read(f) 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/wave.py", line 159, in __init__ 
    f = __builtin__.open(f, 'rb') 
IOError: [Errno 2] No such file or directory: 'yourbody.wav' 
logout 

[Process completed] 

Это мой код:

import wave 
import math 
import struct 

bitDepth = 8#target bitDepth 
frate = 44100#target frame rate 

fileName = "yourbody.wav"#file to be imported (change this) 

#read file and get data 
w = wave.open(fileName, 'r') 
numframes = w.getnframes() 

frame = w.readframes(numframes)#w.getnframes() 

frameInt = map(ord, list(frame))#turn into array 

#separate left and right channels and merge bytes 
frameOneChannel = [0]*numframes#initialize list of one channel of wave 
for i in range(numframes): 
    frameOneChannel[i] = frameInt[4*i+1]*2**8+frameInt[4*i]#separate channels  and store one channel in new list 
    if frameOneChannel[i] > 2**15: 
     frameOneChannel[i] = (frameOneChannel[i]-2**16) 
    elif frameOneChannel[i] == 2**15: 
     frameOneChannel[i] = 0 
    else: 
     frameOneChannel[i] = frameOneChannel[i] 

#convert to string 
audioStr = '' 
for i in range(numframes): 
    audioStr += str(frameOneChannel[i]) 
    audioStr += ","#separate elements with comma 

fileName = fileName[:-3]#remove .wav extension 
text_file = open(fileName+"txt", "w") 
text_file.write("%s"%audioStr) 
text_file.close() 

ответ

0

IOError: [Errno 2] Нет такого файла или каталога: 'yourbody.wav'

Файл 'yourbody.wav' не нашел в каталоге, в котором вы выполнили свою программу.

+0

У меня есть файл 'yourbody.wav' в той же папке, что и файл wavtotxt.py. Я просматриваю файл wavtotxt.py в TextWrangler и запускаю его в Terminal. Есть ли у вас другие предложения? –

+0

в соответствии с вашим сообщением об ошибке, ваш файл Python находится в файле «/ private/var/folders/1_/q5syr5b51zn6y9yvxd7v8mhw0000gn/T/Cleanup at Startup/wavtotext-448370838.051.py». попробуйте перейти в папку, в которой вы держите свои файлы в терминале, и выполните python wavtotext.py – RealityPC