Извлечение чисел из текстового файла

PythonPythonBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом проекте вы научитесь извлекать числа, большие 5, из текстового файла и выводить их на печать.

👀 Предварительный просмотр

$ python FindDigits.py
876

🎯 Задачи

В этом проекте вы научитесь:

  • Открывать текстовый файл и читать его содержимое
  • Извлекать конкретные числа из строки
  • Конкатенировать извлеченные числа в новую строку
  • Выводить извлеченные числа

🏆 Достижения

После завершения этого проекта вы сможете:

  • Обрабатывать строки и извлекать из них конкретные данные
  • Написать сценарий на Python для автоматизации простой задачи обработки данных
  • Применять свои знания о работе с файлами и операциях со строками в Python

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python(("Python")) -.-> python/FileHandlingGroup(["File Handling"]) python/BasicConceptsGroup -.-> python/strings("Strings") python/ControlFlowGroup -.-> python/conditional_statements("Conditional Statements") python/ControlFlowGroup -.-> python/for_loops("For Loops") python/FileHandlingGroup -.-> python/file_opening_closing("Opening and Closing Files") python/FileHandlingGroup -.-> python/file_reading_writing("Reading and Writing Files") python/FileHandlingGroup -.-> python/with_statement("Using with Statement") subgraph Lab Skills python/strings -.-> lab-302772{{"Извлечение чисел из текстового файла"}} python/conditional_statements -.-> lab-302772{{"Извлечение чисел из текстового файла"}} python/for_loops -.-> lab-302772{{"Извлечение чисел из текстового файла"}} python/file_opening_closing -.-> lab-302772{{"Извлечение чисел из текстового файла"}} python/file_reading_writing -.-> lab-302772{{"Извлечение чисел из текстового файла"}} python/with_statement -.-> lab-302772{{"Извлечение чисел из текстового файла"}} end

Откройте файл String.txt и прочитайте строку

В этом шаге вы научитесь открывать файл String.txt и читать строку.

  1. Откройте текстовый редактор и создайте новый файл с именем FindDigits.py в директории /home/labex/project.
cd /home/labex/project
touch FindDigits.py
  1. В файле FindDigits.py используйте функцию open для открытия файла String.txt в той же директории и чтения строки.
## Open the String.txt file in the same directory and read the string
with open("String.txt", "r") as f:
    string = f.read()

with-оператор используется для обеспечения правильного закрытия файла после завершения чтения, даже если возникает исключение.

Извлеките числа, большие 5, из строки

В этом шаге вы научитесь извлекать числа, большие 5, из строки и конкатенировать их в новую строку.

  1. Инициализируйте пустую строку для хранения извлеченных чисел.
## Initialize an empty string to store the extracted numbers
numbers = ""
  1. Пройдитесь по каждому символу в строке и проверьте, является ли он цифрой и больше 5. Если да, добавьте его в строку numbers.
## Loop through each character in the string
for char in string:
    ## If the character is a digit and greater than 5
    if char.isdigit() and int(char) > 5:
        ## Append it to the numbers string
        numbers += char

Метод isdigit() проверяет, является ли символ цифрой, а int(char) преобразует символ в целое число, чтобы проверить, больше ли оно 5.

Распечатайте извлеченные числа

В этом шаге вы научитесь печатать извлеченные числа.

  1. Распечатайте строку numbers.
## Print out the numbers string
print(numbers)

Файл FindDigits.py в конце должен выглядеть так:

## Open the String.txt file in the same directory and read the string
with open("String.txt", "r") as f:
    string = f.read()

## Initialize an empty string to store the extracted numbers
numbers = ""

## Loop through each character in the string
for char in string:
    ## If the character is a digit and greater than 5
    if char.isdigit() and int(char) > 5:
        ## Append it to the numbers string
        numbers += char

## Print out the numbers string
print(numbers)

Вы теперь завершили проект. Запустите файл FindDigits.py, чтобы увидеть вывод.

$ python FindDigits.py
876
✨ Проверить решение и практиковаться

Резюме

Поздравляем! Вы завершили этот проект. Вы можете практиковаться в более многих лабораторных работах в LabEx, чтобы улучшить свои навыки.