Я застрял с моим скриптом в точке. Сценарий этотPython скрипт для проверки dir не работает
import subprocess
import os
def Windows():
SW_MINIMIZE = 6
info = subprocess.STARTUPINFO()
info.dwFlags = subprocess.STARTF_USESHOWWINDOW
info.wShowWindow = SW_MINIMIZE
print(os.path.isdir("C:\Program Files (x86)"))
while True:
try:
subprocess.Popen(r'C:\Program Files (x86)\Mozilla Firefox\firefox.exe', startupinfo=info)
except WindowsError:
subprocess.Popen(r'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe', startupinfo=info)
else:
try:
subprocess.Popen(r'C:\Program Files\Mozilla Firefox\firefox.exe', startupinfo=info)
except WindowsError:
subprocess.Popen(r'C:\Program Files\Google\Chrome\Application\chrome.exe', startupinfo=info)
То, что я хочу сделать, это проверить, если компьютер 64 бит или 32 бит (как я хочу, чтобы открыть браузер без окна с помощью subprocess
.), Чтобы найти браузеры chrome
или firefox
, в зависимости от того, какой пользователь имеет (я предполагаю, что у них есть один из них). Поскольку путь для chrome и firefox варьируется в 64-х и 32-разрядных компьютерах (Program Files и Program Files (x84)), я придумал этот скрипт, который определяет, существует ли папка x86 или нет. Если это так, оно продолжается в папке для поиска браузеров. Однако, если это не так, предполагается, что он 32-разрядный и ищет папку Program Files
, и в этой папке он ищет браузеры. Однако, когда я бегу сценарий, я получаю эту ошибку
Traceback (most recent call last):
File "C:\Users\Charchit\Desktop\via.py", line 29, in <module>
Windows()
File "C:\Users\Charchit\Desktop\via.py", line 13, in Windows
subprocess.Popen(r'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe', startupinfo=info)
File "C:\Python27\lib\subprocess.py", line 710, in __init__
errread, errwrite)
File "C:\Python27\lib\subprocess.py", line 958, in _execute_child
startupinfo)
WindowsError: [Error 2] The system cannot find the file specified
Однако, в моем сценарии он не должен даже пойти while True
раздел, потому что у меня есть 32 битная система и x86
папка не существует!
@cxw Что? Я не получил его –
Ну, существует ли '' C: \ Program Files (x86) \ Google \ Chrome \ Application \ chrome.exe''? –
@MorganThrapp Нет, этого не существует, потому что у меня 32-разрядное устройство –