J'ai commencé à écrire io_bit.py et io_midi.py en Python 2, donc je me suis occupé d'eux pendant 3.
En relation) http://d.hatena.ne.jp/yoya/20141106/io_midi
--Spécifiez "b" pour ouvrir le fichier en tant que binaire. (Ça marche même si ce n'est pas 2)
X data = open(file).read() O data = open(file,"rb").read()
―― Au fait, c'est l'erreur qui apparaît dans 3.
File "/usr/local/Cellar/python3/3.4.2_1/Frameworks/Python.framework/Versions/3.4/lib/python3.4/codecs.py", line 313, in decode (result, consumed) = self._buffer_decode(data, self.errors, final) UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe0 in position 13: invalid continuation byte
X chunk == "MThd" O chunk == b"MThd"
--has_key ne peut pas être utilisé, utilisez donc dans.
X a.has_key("x") O "x" in a
X octets [i] # ← Dans ce cas, le comportement est différent entre 2 et 3. O bytes[i:i+1]
$ python2 -c 'print(b"AB"[1])' B $ python3 -c 'print(b"AB"[1])' 66 $ python3 -c 'print(b"AB"[1:2])' b'B'
--Fixe onglet dur à l'onglet souple. (2 fonctionne sur les onglets durs)
Recommended Posts