【发布时间】:2020-05-15 15:54:46
【问题描述】:
我正在尝试使用库中的内置函数以以下方式读取 midi 文件 - mido 来读取此类文件。
mid = mido.MidiFile('..\Datasets\abel.mid')
错误:
OSError Traceback (most recent call last)
<ipython-input-34-5c67b78f0caf> in <module>()
----> 1 mid = mido.MidiFile('F:\AI\Music classification\Datasets\abel.mid')
~\Anaconda3\lib\site-packages\mido\midifiles\midifiles.py in __init__(self, filename, file, type, ticks_per_beat, charset, debug, clip)
313 self._load(file)
314 elif self.filename is not None:
--> 315 with io.open(filename, 'rb') as file:
316 self._load(file)
317
OSError: [Errno 22] Invalid argument: '..\\Datasets\x07bel.mid'
如果我们观察错误的最后一行,我们会注意到文件名似乎已更改。为什么会这样?
如果我以以下方式更改代码,在文件名似乎已更改的地方添加额外的\,则文件被完美读取:
mid = mido.MidiFile('..\Datasets\\abel.mid')
为什么当我添加一个额外的\ 时,代码可以工作?
【问题讨论】: