Замените в /etc/apt/sources.list ftp на http. apt -зеркала Рано или поздно вам придется к этому. Под root или с помощью sudo. dpkg --clear-avail
и rm -f /var/lib/apt/lists/*
После этого обновленияapt update && apt install mysql-client
Ваше зеркало временно недоступно. Возможно, связано
ping -c 4 http://mirrors.kernel.org/
ping: unknown host http://mirrors.kernel.org/
В /etc/apt/sources.list
deb http://http.us.debian.org/debian/ jessie main contrib non-free
deb http://security.debian.org/ jessie/updates main contrib non-free
deb http://http.us.debian.org/debian/ jessie-updates contrib non-free main
dpkg --clear-avail
и rm -f /var/lib/apt/lists/*
После этого обновленияapt update && apt install mysql-client
Внутренний цикл for word in f:
не не перебирает "слова" в строке, а делает то же самое,for line in f
-потребляя строки файлаf
.
Чтобы проверить, содержится ли 'President'
слово в строке, достаточно:
with open("file.txt") as f:
for line in f:
if 'President' in line:
print('a')
Печатать только строки, начинающиеся со слова President
с удаленным префиксом:
with open("file.txt") as f:
for line in f:
if line.startswith('President'):
print(line.replace('President', '').strip())
Прежде всего, я думаю, что это ваш отступ. Вы можете попробовать следующее:
with open('file.txt') as f:
count = 0
for line in f:
columns = line.split()
if len(columns) > 1 and 'President' in line:
print(columns[1], columns[2])
count += 1
print("There are ", count, "Presidents found")
Это должно напечатать всю строку, если President
найдено в этой конкретной строке. Затем мы разделим строку на столбцы и соответственно напечатаем столбцы
Однако в таких случаях использование awk
может быть гораздо более подходящим, чем python.
awk '/President/{c++; print $2,$3 } END { printf("There were %d Presidents found\n", c)}' file.txt