ketki bhagat Ответов: 2

Поиск файла не найден ошибка


какие изменения я должен внести, чтобы запустить этот файл?В настоящее время он выдает ошибку

я пытаюсь удалить файл not found error, но не могу его удалить.... я импортировал красивую библиотеку супа для получения данных, но нашел файл not found error .

а ошибка есть:

FileNotFoundError обратная трассировка (самый недавний призыв последнего)
&ЛТ;оболочкой IPython-ввод-2-bf13edab625c> В &ЛТ;модуль&ГТ;
6 URL-адрес = "http://www.espncricinfo.com/"
7 имя_файла = sys.argv[1]
----> 8 с открытым именем(file_name) как f:
9 по строке в Ф:
10 complete_url = url + строка

FileNotFoundError: [Errno 2] нет такого файла или каталога: '-f'

Что я уже пробовал:

импорт urllib.request, re
из html.parser импортируйте HTMLParser
из bs4 импортируйте BeautifulSoup
импорт sys

URL-адрес = "http://www.espncricinfo.com/"
имя_файла = sys.argv[1]
с открытым(имя_файла) как f:
для строки в f:
complete_url = url + строка
запрос = urllib.request.Запрос(complete_url)
page = urllib.request.urlopen(запрос).read()
суп = BeautifulSoup(страница, "lxml")

ряд = ""

"""
поиск названий команд
"""
команды = суп.найти('див', {'класс': 'Команда-1-имя'}).текст.Сплит(' в ')
team1 = команды[0].lstrip()
team2 = команды[1].rstrip()

строку += КОМАНДА1 + ","
строку += команда2 + ","

место проведения = soup.find_all('a', {'class': 'headLink'})[3].текст
город = ""
if venue.find(',') >= 0:
city += venue.split(',')[1].lstrip().rstrip()
еще:
город += место проведения

строка += город + ","

date_list = soup.find_all('div', {'class': 'space-top-bottom-5'})[-1].text
if date_list.find(',') >= 0:
date_list = date_list.split(',')[1]
date = ' '.join(date_list.split()[0:3])

строка += дата + ","

toss = soup.find_all('div', {'class': "match-information"})[1].\
find('span').text

если бросок == команда 1:
строка += "0,"
еще:
строка += "1,"

first_bat = суп.find_all('й', {"класса":\
"th-innings-heading"})[0].text.split('innings')[0].rstrip()

если (first_bat == КОМАНДА1):
строка += "0,"
еще:
строка += "1,"

регулярное выражение = re.compile('[^a-zA-Z ]')
team1_players = []
players1 = soup.find_all('table', {"class": "batting-table innings"})[0].\
find_all('td',{"class": "batsman-name"})
для игрока в players1:
player_name = player.text.rstrip()
Р = регулярное выражение.суб("", player_name)
team1_players.добавление(п)
строка += p + ","

если len(team1_players) != 11:
rem_players = soup.find_all('div', {"class": "more-match-stats"})[0].\
find_all('a', {"class": "playerName"})
для каждого в rem_players:
player_name = each.text.rstrip()
Р = регулярное выражение.суб("", player_name)
team1_players.добавление(п)
строка += p + ","

team2_players = []
players1 = soup.find_all('table', {"class": "Batt-table innings"})[1].\
find_all('td',{"class": "batsman-name"})
для игрока в players1:
player_name = player.text.rstrip()
Р = регулярное выражение.суб(", player_name)
team2_players.добавление(п)
строка += p + ","

если len(team2_players) != 11:
rem_players = soup.find_all('div', {"class": "more-match-stats"})[1].\
find_all('a', {"class": "playerName"})
для каждого в rem_players:
player_name = each.text.rstrip()
Р = регулярное выражение.суб(", player_name)
team2_players.добавление(п)
строка += p + ","

winner_info = суп.найти('див', {"класса": "подач-требование"}).текст
победитель = ""

если winner_info.find("выиграл") >= 0:
winner = winner_info.split(" выиграл ")[0]
elif winner_info.find("нет результата") >= 0:
победитель = "нет результата"
продолжить
elif winner_info.find("матч ничейный") >= 0:
победитель = "ничья"

если победитель == команда 1:
строка += "0"
победитель elif == team2:
строка += "1"
Элиф победитель == "ничья":
строка += "2"

если row.find(",,") >= 0:
продолжить

печать(строка)

2 Ответов

Рейтинг:
1

Richard MacCutchan

В дополнение к комментариям Дэйва К.

FileNotFoundError: [Errno 2] No such file or directory: '-f'

Вы (предположительно) вызываете программу с помощью командной строки примерно такого типа:
python myscript.py -f thedatafile

Но ваш код ожидает первого argv параметр, являющийся именем файла, не обрабатывает параметр '-f'.


Рейтинг:
0

Dave Kreskowiak

Сценарий ожидает имя файла или путь к файлу, указанный в командной строке при запуске сценария.

Если вы не предоставите его, ваш код не будет написан для обработки этой ситуации и завершится ошибкой "файл не найден".