Открыть файл без getOpenFileName?
Есть ли способ открыть файлы без использования QFileDialog.getOpenFileName
параметр? Дело в том, что у меня есть несколько кнопок, при нажатии на которые появляется блокнот, в который можно вводить что угодно в блокноте. Затем вы можете сохранить все, что вы написали в этом блокноте, в виде текстового файла. Что я хочу сделать, так это, если я снова нажму кнопку, я снова открою файл, который я ранее отредактировал через блокнот, и смогу продолжить ввод с того места, где я остановился. Однако я не хочу использовать getOpenFileName
, Можно ли открыть файл без использования этой функциональности? Ниже моя попытка, но мое утверждение if продолжает оцениваться как ложное. Если бы кто-то мог помочь, это было бы здорово. Спасибо!
#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()
1 ответ
Если вы находитесь на 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)