2017-09-04 19 views
0

入力:再エンコードという名前のタプル

import mouse 
import pickle 
from collections import namedtuple 

#https://github.com/boppreh/keyboard/blob/master/keyboard/mouse.py 

#from ._mouse_event import ButtonEvent, MoveEvent, WheelEvent, LEFT, RIGHT, 
MIDDLE, X, X2, UP, DOWN, DOUBLE 


ButtonEvent = namedtuple('ButtonEvent', ['event_type', 'button', 'time']) 
WheelEvent = namedtuple('WheelEvent', ['delta', 'time']) 
MoveEvent = namedtuple('MoveEvent', ['x', 'y', 'time']) 

with open ('outfile', 'rb') as fp: 
    itemlist = pickle.load(fp) 

#print (type (itemlist)) 
print (itemlist[:3]) 

z=0 
xx=50 
yy=10 
itemlist2=[] 

for i in itemlist: 
    old_event = itemlist[z] 
    new_event = MoveEvent(x=xx, y=yy, time=old_event.time) 
    itemlist2.append(new_event) 
    z=z+1 
    xx=xx+1 
    yy=yy+1 
print() 

print (itemlist2[:3]) 

print (type (itemlist)) 
print (type (itemlist[0])) 
print (type (itemlist[0][0])) 

print() 

print (type (itemlist2)) 
print (type (itemlist2[0])) 
print (type (itemlist2[0][0])) 

出力:

[MoveEvent(x=1369, y=162, time=1504533266.029788), MoveEvent(x=1358, y=165, time=1504533266.0377884), MoveEvent(x=1350, y=167, time=1504533266.045789)] 

[MoveEvent(x=50, y=10, time=1504533266.029788), MoveEvent(x=51, y=11, time=1504533266.0377884), MoveEvent(x=52, y=12, time=1504533266.045789)] 
<class 'list'> 
<class 'mouse._mouse_event.MoveEvent'> 
<class 'int'> 

<class 'list'> 
<class '__main__.MoveEvent'> 
<class 'int'> 

新私はitemlist2に名前のタプルのリストを組み立て直すときhere- Pythonのために、私は続ける必要があります -class mouse._mouse_event.MoveEvent - この操作を行う方法がわからない

itemlist」を直接編集してみることもできますあなたが使用したい場合は

MoveEvent = namedtuple('MoveEvent', ['x', 'y', 'time']) 

:印刷されたリストは、(変更された値を除く)同じに見えるとき、それはあなたがあなたのファイルに新しいMoveEventのnamedtupleタイプを作成している

答えて

0

可能ですこの行が含まれて

MoveEvent = mouse._mouse_event.MoveEvent 

mouse.pyので:オリジナル、あなたはmouse._mouse_event.MoveEventを使用するか、または上記に名前を変更する必要があります

from ._mouse_event import ButtonEvent, MoveEvent, WheelEvent, LEFT, RIGHT, MIDDLE, X, X2, UP, DOWN, DOUBLE 

おそらく、このコードを使用することができます:

import mouse 
from mouse import MoveEvent 
関連する問題