错误2:没有这样的文件或目录

时间:2015-04-01 21:18:33

标签: python linux terminal ubuntu-14.04

我已经看到多个线程遇到此问题,但我无法找到适用于我的情况的线程。我使用了一个名为audiodiff的库,它实际上告诉你两个音频文件是否具有相同的内容。我记录了以前保存的2个.wav文件,我想查看。这是代码:

import audiodiff
print audiodiff.audio_equal('output1.wav', 'output2.wav', ffmpeg_bin=None)

以下是我在运行终端时输入的输出:

File "/usr/local/lib/python2.7/dist-packages/audiodiff/__init__.py", line 51, in audio_equal
return checksum(name1, ffmpeg_bin) == checksum(name2, ffmpeg_bin)
File "/usr/local/lib/python2.7/dist-packages/audiodiff/__init__.py", line 86, in checksum
stderr=subprocess.PIPE)
File "/usr/lib/python2.7/subprocess.py", line 710, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1327, in _execute_child
raise child_exception

我在这里看到的解释与cd有关,但我的所有文件都在同一个文件夹中。所以,我不确定这是怎么回事。任何有关这方面的见解都会很棒。 TIA。

2 个答案:

答案 0 :(得分:1)

您可以使用Python的os.path工具创建文件的绝对路径:

 import os

 fname = os.path.join(path_to_output1, 'output1.wav')

如果您需要在应用程序启动时获取路径,在执行任何更改目录之前,您可以执行此操作:

path = os.getcwd()  # Get the current path where the application was started

在不知道您的完整源代码,目录布局和确切的程序调用的情况下,很难说更多。

更多信息:

https://docs.python.org/3.4/library/os.path.html?highlight=path#module-os.path

答案 1 :(得分:0)

您是否检查过audiodiff的依赖项?

  

audiodiff要求在您的系统中安装FFmpeg。默认情况下,路径为ffmpeg,但您可以通过以下方式更改它(以后的规则优先于以前的规则)。

     
      
  1. audiodiff.FFMPEG_BIN模块属性
  2.   
  3. FFMPEG_BIN环境变量
  4.   
  5. ffmpeg_bin flag(仅限命令行工具)
  6.