Ошибка при обработке файлов в Blender с использованием Python - PullRequest
0 голосов
/ 09 февраля 2011

Я пытаюсь прочитать данные в Blender с внешнего устройства, подключенного к Arduino , и сохранить их в файл.Но это выдает эту ошибку

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()

1 Ответ

3 голосов
/ 09 февраля 2011

Вы получаете сообщение об ошибке, поскольку файл 'abc.dat' не существует при первом запуске программы.

Вам нужно разобраться с начальным случаем, когда вы запускаете программу в первый раз, до того, как появится «abc.dat».

...