#python #python-3.x #windows #search #browser
#python #python-3.x #Windows #Поиск #браузер
Вопрос:
Некоторое время назад я написал этот скрипт, который будет искать определение всех слов в searches.txt файл, он использовался для школьных лексических проектов. С началом нового учебного года мне нужно было восстановить его, чтобы использовать его снова. Я получаю странные ошибки, которые кажутся проблемой с моей установкой python, но я не получаю ничего подобного в других программах py, у меня также может не быть установленной библиотеки. Код и ошибки приведены ниже, дайте мне знать, в чем, по вашему мнению, проблема. Заранее спасибо!
Код
from subprocess import call
import re
import sys
links = []
filename = 'C:\Users\TestoW\Documents\Coding\definition-search\searches.txt'
try:
with open(filename) as linkListFile:
for line in linkListFile:
link = line.strip()
if link != '':
if re.match('http://. |https://. |ftp://. |file://. ', link.lower()):
links.append(link)
else:
links.append('https://www.dictionary.com/browse/' link)
#https://www.google.com/search?q=
#https://www.dictionary.com/browse/
#http://maps.google.com/?q=
except IOError:
print ('Failed to open the file "%s".nExiting.')
sys.exit()
print (links)
call(["open"] links)
seaches.txt пример
Matter
Energy
Temperature
Non-Newtonian Liquid
Sublimation
Deposition
ОШИБКА WINDOWS
['https://www.dictionary.com/browse/Matter', 'https://www.dictionary.com/browse/Energy', 'https://www.dictionary.com/bro
wse/Temperature', 'https://www.dictionary.com/browse/Non-Newtonian Liquid', 'https://www.dictionary.com/browse/Sublimati
on', 'https://www.dictionary.com/browse/Deposition', 'https://www.dictionary.com/browse/Melting Point', 'https://www.dic
tionary.com/browse/Boiling Point', 'https://www.dictionary.com/browse/Phase Change', 'https://www.dictionary.com/browse/
Endothermic', 'https://www.dictionary.com/browse/Exothermic', 'https://www.dictionary.com/browse/Compound', 'https://www
.dictionary.com/browse/Intrinsic Property', 'https://www.dictionary.com/browse/Extrinsic Property', 'https://www.diction
ary.com/browse/Crystallization', 'https://www.dictionary.com/browse/Centrifugation', 'https://www.dictionary.com/browse/
Distillation', 'https://www.dictionary.com/browse/Chromatography', 'https://www.dictionary.com/browse/Filtration', 'http
s://www.dictionary.com/browse/Homogeneous', 'https://www.dictionary.com/browse/Heterogeneous']
Traceback (most recent call last):
File "C:UsersTestoWDocumentsCodingdefinition-searchAutoLookUp.py", line 26, in <module>
call(["open"] links)
File "C:Python38libsubprocess.py", line 340, in call
with Popen(*popenargs, **kwargs) as p:
File "C:Python38libsubprocess.py", line 854, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "C:Python38libsubprocess.py", line 1307, in _execute_child
hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
FileNotFoundError: [WinError 2] The system cannot find the file specified
C:UsersTestoW>
Комментарии:
1. Это говорит о том, что он не может найти
open
команду.2. … и «открыть» не является допустимой командой Windows, поэтому она ищет файл с этим именем.
Ответ №1:
Этот код работает для меня, чтобы открывать ссылки в списке:
for lnk in links:
call(["start"] [lnk], shell=True)
— Обновить —
Найден другой способ открыть ссылки, не открывая окно cmd.
import win32com.client
sh = win32com.client.Dispatch('WScript.Shell')
for lnk in links:
sh.run(lnk)
Комментарии:
1. Спасибо, это работает, есть ли способ не открывать экземпляр cmd для каждого поиска?