2016-04-15 4 views
1

AndroidでPythonに問題があります。私のコードはWindows上でうまく動作しますが、SPMCのAndroid 6.1では、このエラーが発生します。AndroidでPythonの「無効な構文」エラーが発生しました

SyntaxError: ('invalid syntax', ('/storage/emulated/0/Android/data/com.semperpax.spmc16/files/.spmc/addons/context.addtolib/context.py', 104, 45, '  curVisCond   = {self.container, \n')) 

なぜ私は理解できません。コードの一部:

def doAction(self): 

    curVisCond   = {self.container, 
          TAG_CND_NOTFOUND if not self.isFound  else TAG_CND_FOUND, 
          TAG_CND_NEWSRC if self.isNewSource  else TAG_CND_OLDSRC, 
          TAG_CND_NEWFRC if self.isNewFolSource  else TAG_CND_OLDFRC, 
          TAG_TYP_FOLDER if self.items.vidIsFolder else TAG_TYP_FILE, 
          TAG_CND_LISTEMPTY if self.items.vidIsEmpty else Empty, 
          TAG_CND_NOUPD  if not addon.ADDUPD  else Empty} 
+2

どのバージョンのPythonですか?たぶん、以前のセットのリテラル構文が存在するからです。すなわち2.6以下である。 – Kevin

+0

Android - python 2.6、win - 2.7、しかし、私は現在2.6/2.7のようなリテラル構文の違いはありません –

答えて

0

リテラル構文はintroduced in 3.1 and backported to 2.7でした。 Python 2.6では有効な構文ではありません。

リストリテラルを使用し、setタイプを使用して変換します。

curVisCond   = set([self.container, 
          TAG_CND_NOTFOUND if not self.isFound  else TAG_CND_FOUND, 
          TAG_CND_NEWSRC if self.isNewSource  else TAG_CND_OLDSRC, 
          TAG_CND_NEWFRC if self.isNewFolSource  else TAG_CND_OLDFRC, 
          TAG_TYP_FOLDER if self.items.vidIsFolder else TAG_TYP_FILE, 
          TAG_CND_LISTEMPTY if self.items.vidIsEmpty else Empty, 
          TAG_CND_NOUPD  if not addon.ADDUPD  else Empty]) 
関連する問題