我正在编写一个小 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 上运行
谢谢你提供的所有帮助。
标记