我使用的软件环境是:32位window7 + python32 + pyqt4.9
我自己在上述环境下写了一个小桌面软件。遇到以下
问题:
我把一个
文本文件利用Qt的资源
系统编译成资源文件,然后在代码中调用。具体步骤如下:
1、把我的字典文本文件放到了工作
目录下的images的目录下
2、在工作目录下的application.qrc中加入了<file>images/dict.txt</file>
3、最后我把这个application.qrc编译成application_rc.py
4、在代码的开始处加入import application_rc
然后在代码中读取这个文件,想读取成一个列表。代码如下:
- def phonetic_dict (self):
- file = QtCore.QFile(":/images/dict.txt")
- file.open(QtCore.QFile.ReadOnly|QtCore.QFile.Text)
- #QtCore.QTextStream.setCodec("UTF-8")
- inf =QtCore.QTextStream(file)
- my_dict = inf.readAll().split("\r\n")
- #my_dict = bytes(file.readAll()).split("\n")
- #读出音标库文本中的所有内容在一个列表中,每行是一个列表的一个元素。
- file.close()#关闭音标库文本文件
- myDict = dict() #建立一个空字典
- for line_1 in my_dict :
- #用for循环读出音标库列表中的每一个元素即音标库文本中的每一行的内容
- #print (line_1)
- word_1,phonetic = line_1.split("\t",1)
- #对本行用制表符分割一次,得到了一个含有两个元素的列表。这两个元素分别是单词和单词的音标(分别是国际音标和KK音标)
- if word_1 not in myDict:
- #如果本行的单词不在所建的字典中时
- myDict[word_1] = phonetic
- #把本行的单词及相应的音标加入到所建的字典文件中
- else:
- #如果本行的单词已在所建的字典中时
- pass
- return myDict
结果不能读取出来。我才学编程两个月,请大牛们帮忙指点一下。