gpt4 book ai didi

用于检查目录的Python脚本不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 16:05:29 25 4
gpt4 key购买 nike

我在某个时刻被我的脚本困住了。脚本是这样的

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 打开没有窗口的浏览器。)以找到浏览器 chromefirefox,具体取决于用户拥有哪一个(我假设他们拥有其中之一)。由于 Chrome 和 Firefox 的路径在 64 位和 32 位计算机(程序文件和程序文件 (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 文件夹不存在!

最佳答案

您实际上并没有检查os.path.isdir("C:\Program Files (x86)")。您只需打印它。

而不是

print(os.path.isdir("C:\Program Files (x86)"))
while True:

你需要做

if os.path.isdir(r"C:\Program Files (x86)"):

旁注:

Chrome 和 Firefox 传统上都将自己放置在路径上,因此您很有可能只需执行 subprocess.Popen('firefox.exe')/subprocess.Popen('chrome .exe').

关于用于检查目录的Python脚本不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39853801/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com