【发布时间】:2016-09-12 18:49:06
【问题描述】:
我的应用程序在一台计算机上运行良好,但当我在另一台计算机上运行相同的应用程序时出现错误:
Traceback (most recent call last):
File "./th.py", line 98, in browse_file2
self.textEdit_2.append(str(os.path.basename(p)))
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/posixpath.py", line 121, in basename
i = p.rfind('/') + 1
AttributeError: 'QString' object has no attribute 'rfind'
我看到了类似的错误here。据此,我需要将参数类型转换为“QString”数据类型,我正在这样做。脚本中有错误的部分是:
def browse_file(self):
#files handling
caption="Open File"
directory='./'
filter_mask="fastq files (*.fastq)"
self.textEdit.setText("")
f_1=(QFileDialog.getOpenFileNames(None, caption, directory, filter_mask))
#for st in f_1:
for p in f_1:
self.textEdit.append(str(os.path.basename(p)))
global R1
R1=f_1
#if textEdit.toPlainText
def browse_file2(self):
#files handling
caption="Open File"
directory='./'
filter_mask="fastq files (*.fastq)"
f_2=(QFileDialog.getOpenFileNames(None, caption, directory, filter_mask))
for p in f_2:
self.textEdit_2.append(str(os.path.basename(p)))
global R2
R2=f_2
谁能告诉我这个错误的可能原因是什么?如果您需要任何其他代码部分,请告诉我。提前致谢。
【问题讨论】:
-
os.path.basename(unicode(p)) -
非常感谢。这使得代码工作得很好。如果可能,请告诉我错误的原因是什么?
-
原因是那个对象没有那个属性。
-
@AdrianPereira。
QString对象与 python unicode 对象不同。
标签: macos python-2.7 pyqt4 qstring