我正在non_int_ram_var
中搜索trial.txt
中的文字。 non_int_ram_var
从excel表中获取数据,该表基本上是unicode。因此,我将其输入到str
,以便trial.txt
类型与non_int_ram_var
匹配。但控件没有进入if var in line:
。我已经交叉验证了var
存在于文本文件的其中一行中。我可能会犯一些错误。任何人都可以给我一个建议吗?
from xlrd import open_workbook
import unicodedata
work_book= open_workbook("C:\\Users\\E542639\\Desktop\\non_sram_mem\\SEU_MBU_FINAL_VARIABLE_LIST.xls");
# reading xls file for non_int sram..............
non_int_ram_var = [] * 376
row=1
for sheet in work_book.sheets():
if "Data" == sheet.name :
print sheet.nrows, sheet.ncols
while row < sheet.nrows:
if "int_sram" != sheet.cell(row,5).value:
if "file name only" != sheet.cell(row,7).value :
non_int_ram_var.append(str(sheet.cell(row,1).value))
row=row + 1
# checking variable in mapfile.........
map_file = open("C:\\Users\\E542639\\Desktop\\non_sram_mem\\trial.txt", "r")
non_categorized = open("C:\\Users\\E542639\\Desktop\\non_sram_mem\\non_categorized.txt","w")
print "processing..."
for var in non_int_ram_var:
while True:
line = str.encode(map_file.readline())
if not line: break
if var in line:
print "control here"
non_categorized.writelines(line) # write won't work
print 'done!!!'
map_file.close()
non_categorized.close()
=============================================== ===================
在下一次迭代中读取到文件结尾之后,光标未到达文件的开头。这是我的错。谢谢戳,你的建议显示方式。这就是我现在所做的并且工作正常。
如果不是行: map_file.seek(0) 破
答案 0 :(得分:0)
Python默认将文件读入str对象。
我想你可以试试
for line in map_file:
if var in line:
print "control here"
...