XMLファイルを調べてタグの置換を行う小さなpythonプログラムを書いています。ディレクトリ ツリーを作成するパス、読み込み先の XML ファイル、出力先の xml ファイルの 3 つの引数を取ります。コマンドラインから引数を渡すだけで問題なく動作します。それは私だけのものではないので、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で実行しています
あなたが与えることができるどんな助けにも感謝します.
マーク