【发布时间】:2010-10-18 20:46:17
【问题描述】:
我正在编写一个小 Python 程序,它会遍历一个 XML 文件并替换一些标签。它接受三个参数,从它创建目录树的路径、读取的 XML 文件和输出到的 xml 文件。只需传入参数,它就可以从命令行正常工作。因为它不只是为了我,我认为 id 在它前面放了一个 Qt。下面是 Qt 前端的大部分内容。 MOVtoMXF 是执行所有替换的类。所以你可以看到,我基本上只是抓取字符串并将它们输入到我已经制作和测试过的类中。
class Form(QDialog):
def ConnectButtons(self):
self.connect(self.pathBrowseB, SIGNAL("clicked()"), self.pathFileBrowse)
self.connect(self.xmlFileBrowseB, SIGNAL("clicked()"), self.xmlFileBrowse)
self.connect(self.outputFileBrowseB, SIGNAL("clicked()"), self.outputFileBrowse)
def accept(self):
path = self.pathBox.displayText()
xmlFile = self.xmlFileBox.displayText()
outFileName = self.outfileNameBox.displayText()
print path + " " + xmlFile + " " + outFileName
mov1 = MOVtoMXF.MOVtoMXF(path, xmlFile, outFileName)
mov1.ScanFile()
self.done()
def pathFileBrowse(self):
file = str(QFileDialog.getExistingDirectory(self, "Select Directory"))
self.pathBox.setText(file)
def xmlFileBrowse(self):
file = str(QFileDialog.getOpenFileName(self, "Save File"))
self.xmlFileBox.setText(file)
def outputFileBrowse(self):
file = str(QFileDialog.getSaveFileName(self, "Save File"))
self.outfileNameBox.setText(file)
问题是当我输入一个路径时,它现在返回一个错误,要么目录不存在,要么我末尾有一个斜杠
文件“/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/posixpath.py”,第 62 行,加入 elif path == '' 或 path.endswith('/'):
我认为它可能在 QFileDialog、它的传回的 QString 和我的 python 期望的字符串之间存在一些不匹配。但我不确定如何修复它。
我在 Max OS X 10.5.6 上运行 pyQt 4.4.4 QT 4.4.0
感谢您提供的任何帮助。
标记
【问题讨论】:
-
你能把代码贴在脚本里吗?以及确切的错误信息?
标签: python qt parsing pyqt qfile