我正在處理一個簡單的導入例程,該例程將文本文件轉換爲用於python系統的json文件格式。從Python中的文本文件中讀取行(windows)
import json # Open text file for reading txtFile = open('Boating.Make.txt', 'r') # Create picklist obj picklistObj = dict() picklistObj['name'] = 'Boating.Make' picklistObj['items'] = list() i = 0 # Iterate through each make in text file for line in txtFile: picklistItemObj = dict() picklistItemObj['value'] = str(i) picklistItemObj['text'] = line.strip() picklistItemObj['selectable'] = True picklistObj['items'].append(picklistItemObj) i = i + 1 txtFile.close() picklistJson = json.dumps(picklistObj, indent=4) print picklistJson picklistFile = open('Boating.Make.json', 'w') picklistFile.write(picklistJson) picklistFile.close()
我的問題是,爲什麼我需要「帶」?我以爲Python應該神奇地知道我現在在任何環境下的換行常量。我錯過了什麼嗎?
我應該澄清一下,我正在閱讀的文本文件是一個ASCII文件,其中包含以\ r \ n分隔的文本行。
看起來你是對的。如果我使用'U'作爲文本顯式打開文件並不重要,則行爲是相同的。這似乎與「通用新線」心態不一致。 – feathj 2011-06-03 17:19:09