0

QFileDialog.getOpenFileNameパラメータを使わずにファイルを開く方法はありますか? 問題は、ボタンをクリックするとメモ帳がポップアップして、メモ帳に何でも入力できるボタンがいくつかあるということです。次に、そのメモ帳に書いたものをテキスト ファイルとして保存できます。私がやりたいことは、ボタンをもう一度クリックすると、以前にメモ帳で編集したファイルを再度開き、中断したところから入力を続けることができるということです。しかし、私は使いたくありませんgetOpenFileName。この機能を使用せずにファイルを開くことはできますか? 以下は私の試みですが、私の if ステートメントは false と評価され続けます。誰かがそれを助けることができれば、それは素晴らしいことです. ありがとう!

    #Testing if the file already exists
    if(os.path.exists("~/Desktop/" +self.fileName + ".txt")):
        f = open(self.fileName + ".txt", 'r')
        filedata = f.read()
        self.text.setText(filedata)
        f.close()
    #Opens a new notepad if there wasn't a previous fileconstructed
    else:
        self.textBox = textBoxWindow(self.fileName)
        self.textBox.show()
4

1 に答える 1

0

Winsows を使用している場合 (メモ帳という言葉を言いました)、subprocessモジュールを使用して、次のように、現在ファイルの種類に関連付けられているプログラムで任意のファイルを開くことができます。

import subprocess

self.filename = r'C:\test.txt'
subprocess.call(['start', self.filename], shell=True)

しかし、shell=True引数はちょっと危険です。特に、ファイル名が入力されます。

モジュールも使用できますが、使用webbrowserはサポートされていません。

import webbrowser
webbrowser.open(self.filename)
于 2013-09-19T11:33:49.857 に答える