从文本文件中提取数字

PythonPythonBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在这个项目中,你将学习如何从文本文件中提取大于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. 打开你的文本编辑器,在/home/labex/project目录下创建一个名为FindDigits.py的新文件。
cd /home/labex/project
touch FindDigits.py
  1. FindDigits.py文件中,使用open函数打开同一目录下的String.txt文件并读取字符串。
## 打开同一目录下的String.txt文件并读取字符串
with open("String.txt", "r") as f:
    string = f.read()

with语句用于确保读取完成后文件能正确关闭,即使引发了异常。

从字符串中提取大于5的数字

在这一步中,你将学习如何从字符串中提取大于5的数字,并将它们连接成一个新的字符串。

  1. 初始化一个空字符串来存储提取的数字。
## 初始化一个空字符串来存储提取的数字
numbers = ""
  1. 遍历字符串中的每个字符,检查它是否是一个数字且大于5。如果是,则将其追加到numbers字符串中。
## 遍历字符串中的每个字符
for char in string:
    ## 如果字符是一个数字且大于5
    if char.isdigit() and int(char) > 5:
        ## 将其追加到numbers字符串中
        numbers += char

isdigit()方法检查字符是否是一个数字,而int(char)将字符转换为整数以检查它是否大于5。

打印提取的数字

在这一步中,你将学习如何打印提取的数字。

  1. 打印numbers字符串。
## 打印出numbers字符串
print(numbers)

最终的FindDigits.py文件应如下所示:

## 打开同一目录下的String.txt文件并读取字符串
with open("String.txt", "r") as f:
    string = f.read()

## 初始化一个空字符串来存储提取的数字
numbers = ""

## 遍历字符串中的每个字符
for char in string:
    ## 如果字符是一个数字且大于5
    if char.isdigit() and int(char) > 5:
        ## 将其追加到numbers字符串中
        numbers += char

## 打印出numbers字符串
print(numbers)

你现在已经完成了这个项目。运行FindDigits.py文件以查看输出。

$ python FindDigits.py
876
✨ 查看解决方案并练习

总结

恭喜!你已经完成了这个项目。你可以在LabEx中练习更多实验来提升你的技能。