0
BlenderのデータをArduinoに接続された外部デバイスから読み込み、ファイルに保存しようとしています。しかし、このエラーが発生しますPythonを使用したBlenderのファイル処理中にエラーが発生しました
SyntaxError: invalid syntax
Python script error from controller "contr#CONTR#1":
Traceback (most recent call last):
File "SerialBGE.py", line 6, in <module>
f=open('abc.dat', 'r')
IOError: [Errno 2] No such file or directory: 'abc.dat'
私のコードは間違いなく、私はこの問題を理解していません。
serial.py
import GameLogic
import pickle
import os
os.system('dane.py')
f=open('abc.dat', 'r')
print "abc.dat = "
x=pickle.load(f)
print x
print "end of abc.dat"
f.close();
y=x[:]
for z in x:
y.remove(z)
print "removing " + str(z)
print str(y) + " and " + str(x)
f=open('abc.dat', 'w')
pickle.dump(y, f)
f.close()
contr = GameLogic.getCurrentController()
location=contr.actuators["loc"]
y = 0.001*(ord(z)-128)
location.dLoc=[y,0,0]
contr.activate(location)
dane.py:
import serial
import pickle
with serial.Serial(COM3,9600) as port, open('abc.dat','r') as f:
for i in range(0, 10):
x = port.read(size=1)
y=pickle.load(f)
f.close()
f=open('abc.dat','w')
for i in x:
y.append(i)
pickle.dump(y,f)
f.close()
port.close()
最後のデータを読み込み、追加してから書き込みます。その場合、私のコードは問題ありません。そして、port.read()の代わりに自分のデータを置くとうまくいきます。 – change
それは問題ありませんが、あなたの構造について考えてみましょう。あなたはファイルを読み、新しいデータを追加し、それを書き戻します。しかし、あなたが最初にそれを実行するとどうなりますか?このファイルは読み込みには存在しません。その場合は処理する必要があります。 – payne