この質問は、現在の作業ディレクトリに .app/exe として読み書きする Python アプリに関するものです。
.txt ファイルへのパスは正常に取得できましたが、ファイルを開いて内容を読み取ろうとすると、データが適切に抽出されていないようです。
関連するコードは次のとおりです。
def getLines( filename ):
path = Cocoa.NSBundle.mainBundle().bundlePath()
real_path = path[0: len(path) - 8]
print real_path
f = open(real_path + filename, 'r') # open the file as an object
if len(f.read()) <= 0:
lines = {} # list to hold lines in the file
for line in f.readlines(): # loop through the lines
line = line.replace( "\r", " " )
line = line.replace( "\t", " " )
lines = line.split(" ") # segment the columns using tabs as a base
f.close() # close the file object
return lines
lines = getLines( "raw.txt" )
for index, item in enumerate( lines ): # iterate through lines
# ...
これらは私が得ているエラーです:
- 30/09/2012 10:28:49.103 [0x0-0x4e04e].org.pythonmac.unspecified.main: for index, item in enumerate( lines ): # 行を繰り返す
- 30/09/2012 10:28:49.103 [0x0-0x4e04e].org.pythonmac.unspecified.main: TypeError: 'NoneType' オブジェクトは反復可能ではありません
エラーの意味はある程度理解できますが、.app フォームではないスクリプトを実行すると、これらのエラーが発生せず、データが正常に抽出されるため、フラグが立てられる理由がわかりません。