С Новым годом! Форум программистов, компьютерный форум, киберфорум
Python: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 14.02.2017
Сообщений: 10

Как спросить путь к файлу, который я хочу открыть?

30.03.2018, 16:44. Показов 921. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Код программы которую я пишу:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
# -*- coding: utf-8 -*-
 
# Form implementation generated from reading ui file 'FirstNeededApps.ui'
#
# Created by: PyQt5 UI code generator 5.10.1
#
# WARNING! All changes made in this file will be lost!
 
from PyQt5 import QtCore, QtGui, QtWidgets
import os
 
class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(800, 530)
        self.Exit = QtWidgets.QPushButton(Form)
        self.Exit.setGeometry(QtCore.QRect(710, 290, 81, 221))
        self.Exit.setObjectName("Exit")
        self.tabWidget = QtWidgets.QTabWidget(Form)
        self.tabWidget.setGeometry(QtCore.QRect(0, 0, 701, 511))
        self.tabWidget.setObjectName("tabWidget")
        self.tab = QtWidgets.QWidget()
        self.tab.setObjectName("tab")
        self.Btn9 = QtWidgets.QPushButton(self.tab)
        self.Btn9.setGeometry(QtCore.QRect(460, 320, 231, 161))
        self.Btn9.setObjectName("Btn9")
        self.Btn8 = QtWidgets.QPushButton(self.tab)
        self.Btn8.setGeometry(QtCore.QRect(230, 320, 231, 161))
        self.Btn8.setObjectName("Btn8")
        self.Btn7 = QtWidgets.QPushButton(self.tab)
        self.Btn7.setGeometry(QtCore.QRect(0, 320, 231, 161))
        self.Btn7.setObjectName("Btn7")
        self.Btn4 = QtWidgets.QPushButton(self.tab)
        self.Btn4.setGeometry(QtCore.QRect(460, 160, 231, 161))
        self.Btn4.setObjectName("Btn4")
        self.Btn5 = QtWidgets.QPushButton(self.tab)
        self.Btn5.setGeometry(QtCore.QRect(230, 160, 231, 161))
        self.Btn5.setObjectName("Btn5")
        self.Btn1 = QtWidgets.QPushButton(self.tab)
        self.Btn1.setGeometry(QtCore.QRect(0, 0, 231, 161))
        self.Btn3 = QtWidgets.QPushButton(self.tab)
        self.Btn3.setGeometry(QtCore.QRect(460, 0, 231, 161))
        self.Btn3.setObjectName("Btn3")
        self.Btn6 = QtWidgets.QPushButton(self.tab)
        self.Btn6.setGeometry(QtCore.QRect(0, 160, 231, 161))
        self.Btn6.setObjectName("Btn6")
        self.Btn2 = QtWidgets.QPushButton(self.tab)
        self.Btn2.setGeometry(QtCore.QRect(230, 0, 231, 161))
        self.Btn2.setObjectName("Btn2")
        self.tabWidget.addTab(self.tab, "")
        self.tab_2 = QtWidgets.QWidget()
        self.tab_2.setObjectName("tab_2")
        self.Btn2_1 = QtWidgets.QPushButton(self.tab_2)
        self.Btn2_1.setGeometry(QtCore.QRect(460, 320, 231, 161))
        self.Btn2_1.setObjectName("Btn2_1")
        self.Btn2_2 = QtWidgets.QPushButton(self.tab_2)
        self.Btn2_2.setGeometry(QtCore.QRect(0, 320, 231, 161))
        self.Btn2_2.setObjectName("Btn2_2")
        self.Btn2_3 = QtWidgets.QPushButton(self.tab_2)
        self.Btn2_3.setGeometry(QtCore.QRect(230, 0, 231, 161))
        self.Btn2_3.setObjectName("Btn2_3")
        self.Btn2_4 = QtWidgets.QPushButton(self.tab_2)
        self.Btn2_4.setGeometry(QtCore.QRect(230, 160, 231, 161))
        self.Btn2_4.setObjectName("Btn2_4")
        self.Btn2_5 = QtWidgets.QPushButton(self.tab_2)
        self.Btn2_5.setGeometry(QtCore.QRect(0, 160, 231, 161))
        self.Btn2_5.setObjectName("Btn2_5")
        self.Btn2_6 = QtWidgets.QPushButton(self.tab_2)
        self.Btn2_6.setGeometry(QtCore.QRect(460, 0, 231, 161))
        self.Btn2_6.setObjectName("Btn2_6")
        self.Btn2_7 = QtWidgets.QPushButton(self.tab_2)
        self.Btn2_7.setGeometry(QtCore.QRect(460, 160, 231, 161))
        self.Btn2_7.setObjectName("Btn2_7")
        self.Btn2_8 = QtWidgets.QPushButton(self.tab_2)
        self.Btn2_8.setGeometry(QtCore.QRect(230, 320, 231, 161))
        self.Btn2_8.setObjectName("Btn2_8")
        self.Btn2_9 = QtWidgets.QPushButton(self.tab_2)
        self.Btn2_9.setGeometry(QtCore.QRect(0, 0, 231, 161))
        self.Btn2_9.setObjectName("Btn2_9")
        self.tabWidget.addTab(self.tab_2, "")
        self.tab_5 = QtWidgets.QWidget()
        self.tab_5.setObjectName("tab_5")
        self.Btn3_4 = QtWidgets.QPushButton(self.tab_5)
        self.Btn3_4.setGeometry(QtCore.QRect(0, 160, 231, 161))
        self.Btn3_4.setObjectName("Btn3_4")
        self.Btn3_1 = QtWidgets.QPushButton(self.tab_5)
        self.Btn3_1.setGeometry(QtCore.QRect(0, 0, 231, 161))
        self.Btn3_1.setObjectName("Btn3_1")
        self.Btn3_7 = QtWidgets.QPushButton(self.tab_5)
        self.Btn3_7.setGeometry(QtCore.QRect(0, 320, 231, 161))
        self.Btn3_7.setObjectName("Btn3_7")
        self.Btn3_2 = QtWidgets.QPushButton(self.tab_5)
        self.Btn3_2.setGeometry(QtCore.QRect(230, 0, 231, 161))
        self.Btn3_2.setObjectName("Btn3_2")
        self.Btn3_5 = QtWidgets.QPushButton(self.tab_5)
        self.Btn3_5.setGeometry(QtCore.QRect(230, 160, 231, 161))
        self.Btn3_5.setObjectName("Btn3_5")
        self.Btn3_9 = QtWidgets.QPushButton(self.tab_5)
        self.Btn3_9.setGeometry(QtCore.QRect(460, 320, 231, 161))
        self.Btn3_9.setObjectName("Btn3_9")
        self.Btn3_3 = QtWidgets.QPushButton(self.tab_5)
        self.Btn3_3.setGeometry(QtCore.QRect(460, 0, 231, 161))
        self.Btn3_3.setObjectName("Btn3_3")
        self.Btn3_8 = QtWidgets.QPushButton(self.tab_5)
        self.Btn3_8.setGeometry(QtCore.QRect(230, 320, 231, 161))
        self.Btn3_8.setObjectName("Btn3_8")
        self.Btn3_6 = QtWidgets.QPushButton(self.tab_5)
        self.Btn3_6.setGeometry(QtCore.QRect(460, 160, 231, 161))
        self.Btn3_6.setObjectName("Btn3_6")
        self.tabWidget.addTab(self.tab_5, "")
        self.Settings = QtWidgets.QPushButton(Form)
        self.Settings.setGeometry(QtCore.QRect(710, 20, 81, 271))
        font = QtGui.QFont()
        font.setUnderline(False)
        font.setStrikeOut(False)
        self.Settings.setFont(font)
        self.Settings.setObjectName("Settings")
#exit button function
 
# button 1 function
        def SteamOp(event):
            os.system(r'D:\"Program Files (x86)"\Steam\Steam.exe')
 
#button 1 action
        self.Btn1.setObjectName("Btn1")
        self.Btn1.setIcon(QtGui.QIcon('Steam_icon.png'))
        self.Btn1.setIconSize(QtCore.QSize(150, 150))
        self.Btn1.clicked.connect(SteamOp)
 
#button 2 action
 
 
        self.retranslateUi(Form)
        self.tabWidget.setCurrentIndex(0)
        QtCore.QMetaObject.connectSlotsByName(Form)
 
 
    def retranslateUi(self, Form):
        _translate = QtCore.QCoreApplication.translate
        Form.setWindowTitle(_translate("Form", "Desktop"))
        self.Exit.setText(_translate("Form", "Exit"))
        self.Btn9.setText(_translate("Form", ""))
        self.Btn8.setText(_translate("Form", " "))
        self.Btn7.setText(_translate("Form", " "))
        self.Btn4.setText(_translate("Form", " "))
        self.Btn5.setText(_translate("Form", " "))
        self.Btn1.setText(_translate("Form", " "))
        self.Btn3.setText(_translate("Form", " "))
        self.Btn6.setText(_translate("Form", " "))
        self.Btn2.setText(_translate("Form", " "))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("Form", "Page 1"))
        self.Btn2_1.setText(_translate("Form", " "))
        self.Btn2_2.setText(_translate("Form", " "))
        self.Btn2_3.setText(_translate("Form", " "))
        self.Btn2_4.setText(_translate("Form", " "))
        self.Btn2_5.setText(_translate("Form", " "))
        self.Btn2_6.setText(_translate("Form", " "))
        self.Btn2_7.setText(_translate("Form", " "))
        self.Btn2_8.setText(_translate("Form", " "))
        self.Btn2_9.setText(_translate("Form", " "))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _translate("Form", "Page 2"))
        self.Btn3_4.setText(_translate("Form", " "))
        self.Btn3_1.setText(_translate("Form", " "))
        self.Btn3_7.setText(_translate("Form", " "))
        self.Btn3_2.setText(_translate("Form", " "))
        self.Btn3_5.setText(_translate("Form", " "))
        self.Btn3_9.setText(_translate("Form", " "))
        self.Btn3_3.setText(_translate("Form", " "))
        self.Btn3_8.setText(_translate("Form", " "))
        self.Btn3_6.setText(_translate("Form", " "))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_5), _translate("Form", "Page 3"))
        self.Settings.setText(_translate("Form", "Settings"))
 
if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    Form = QtWidgets.QWidget()
    ui = Ui_Form()
    ui.setupUi(Form)
    Form.show()
    sys.exit(app.exec_())
Во время её написания у меня возник вопрос, а как спросить путь к стиму и запомнить его, чтобы я смог скинуть эту программу другу?
Можно ли запоминать путь через .txt файлы и команду write?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.03.2018, 16:44
Ответы с готовыми решениями:

Как открыть путь к файлу через процессы?
Подскажите как открыть папку где лежит сам файл .exe через список процессов в (listView)? Получаю процессы так: Process Proc; void...

Как указать путь к файлу, который находится в директории приложения
Пишу одно приложение Во вложение показана структура файлов и папок. Мне нужно получить правильно доступ к файлу words\\dictionary.txt. ...

Как указать путь к файлу, который находится непосредственно в проекте?
Как указать путь к файлу, который находится непосредственно в проекте? (в интернете искал, к сожалению, ответа на вопрос не нашел...) ...

5
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
30.03.2018, 17:21
Цитата Сообщение от Fangames Посмотреть сообщение
Можно ли запоминать путь через .txt файлы и команду write?
Можно
0
30.03.2018, 17:24

Не по теме:

Обращаю ваше внимание:

Цитата Сообщение от Fangames Посмотреть сообщение
# WARNING! All changes made in this file will be lost!

0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
30.03.2018, 17:32

Не по теме:

Поколение Code Generator:-)


----------------------------
Путь для любого файла на windows ОС выше XP ищется (динамически) так:
Python
1
2
3
4
>>> import os
>>> os.popen('where /r "%programfiles%\git" git.exe').readlines()
['C:\\Program Files\\Git\\bin\\git.exe\n', 'C:\\Program Files\\Git\\cmd\\git.exe\n', 'C:\\Program Files\\Git\\mingw32\\bin\\git.exe\n', 'C:\\Program Files\\Git\\mingw32\\libexec\\git-core\\git.exe\n']
>>>
Точность и скорость зависят от того насколько близко к цели находится корневой каталог. У найденного пути к файлу нужно убирать символ конца строки.
0
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
30.03.2018, 17:58
Цитата Сообщение от Garry Galler Посмотреть сообщение
Путь для любого файла на windows ОС выше XP ищется (динамически) так
Сработает только для 32-х битной системы, 64-х битной часть программ, в том числе стим попадают в папку Program Files (х86) и не находятся, не говоря уже о том, что программу могут установить не по пути по умолчанию
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
30.03.2018, 19:19
Цитата Сообщение от ТабуретY Посмотреть сообщение
попадают в папку Program Files (х86)
Не проблема: на 64-битных системах есть переменная %ProgramFiles(x86)%
Цитата Сообщение от ТабуретY Посмотреть сообщение
программу могут установить не по пути по умолчанию
Могут. В случае, если программа не будет найдена по предполагаемому пути, нужно просто давать пользователю возможность указать свой путь через диалог выбора каталога.

Добавлено через 1 минуту
P.S. Если указать where весь диск\раздел (например, С:\ ) - программа будет найдена в любом случае :-) Правда, не слишком быстро...

Добавлено через 19 минут
P.P.S. Ну и всегда можно залезть в реестр и достать путь к программе оттуда.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.03.2018, 19:19
Помогаю со студенческими работами здесь

Как получить путь к файлу, который открывается через контекстное меню
Как получить путь к файлу, который открывается через контексное меню?

Как прописать путь к файлу-изображению, который находится в другом проекте?
Доброго времени суток. Как в коде прописать путь к файлу png формата, который находится в другом проекте? Если подробнее, то условно...

Как правильно указать путь к файлу, который находится в одной папке с программой
Здравствуйте. Прошу помощи в таком вопросе. Пишу программу (с# Windows Forms). Публикую проект.При запуске программы выдается...

Как получить путь к файлу, который был открыт с помощью моей программы
Как получить путь к файлу, который был открыт с помощью моей программы? Например я открыл картинку с помощью моей программы, и в ней...

Как получить путь от домена сайта к текущему файлу, который подключен через require?
Файл подключается кодом require('/vp/index.php') Мне нужно из этого файла получить путь типа http://z912.bget.ru/vp/index.php ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Old Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru