当前位置:首页>python>利用AI,零基础速通Python · 05

利用AI,零基础速通Python · 05

  • 2026-09-03 16:38:25
利用AI,零基础速通Python · 05
-这是 空框|Reframe 的第 21 篇文章-
上一篇,我们让系统具备了“判断能力”。布尔值解决的是状态表达,if / else解决的是策略分岔, 循环让判断可以批量发生。
但到这里,还有一个更现实的问题没有解决:数据从哪里来?处理完成之后,又到哪里去?
前几篇文章里,我们处理的数据,都是“写在代码里的”。变量、列表、字典,都是我们手动定义的。但真实世界的数据不是这样的。
真实世界的数据来自用户上传的文件、来自日志、来自导出的报表、来自下载的文本、来自外部系统……也就是说:自动化系统不仅需要“决策能力”,还需要“数据通道”。
这一篇,我们进入一个非常基础、但在产品与AI系统中极其核心的主题——文件读写(File I/O)与数据流动。

读取文件
在计算机内部,一切都是内存中的对象。但当你关掉程序,这些数据就消失了。
如果你希望保存分析结果、读取用户资料、批量处理日志、生成报告供下载等,你就必须使用文件。文件,是程序与现实世界之间的桥梁。
假设你正在做一个“用户反馈情绪分析器”。 用户每天会生成一个 .txt 文件,里面是他们的反馈内容。 我们第一步要做什么? 读取它。
f = open("feedback.txt", "r") content = f.read() f.close() 
这三行代码做了一件非常简单却非常关键的事:把磁盘上的内容,加载到内存中,变成字符串。技术上: 
  • "r"表示读取模式(read)
  • f.read() 读取全部内容,并把文件内容变成一个字符串
  • f.close() 关闭文件并释放系统资源
更现代一点的写法是:
withopen("feedback.txt", "r") as f:     content = f.read() 
with会自动关闭文件,这是Pythonic风格。
这里发生的本质是:磁盘 → 内存。也就是说,我们把现实世界的数据,转化成可以计算的对象。

读取文件最常见的路径问题
很多初学者在第一次读取文件时,遇到的不是语法错误,而是这一行报错:
FileNotFoundError:     [Errno 2] No such file or directory 
这句话翻译成大白话就是:Python找不到你说的那个文件。这不是因为 Python 不会读文件,而是你没有告诉它“文件在哪里”。
所以,文件问题,本质是路径问题。 
第一步:先知道文件在哪。
假设你电脑上有一个文件:daily_notes.txt,你必须先确认三件事:
1、文件真的存在吗? 
2、它在哪个文件夹里?
3、你的程序现在运行在哪个文件夹? 
第二步:查看当前工作目录。
Python默认会在“当前工作目录”里找文件。我们可以这样查看:
import os print(os.getcwd()) 
输出可能是:D:\PythonProject。这说明你的程序正在D:\PythonProject这个文件夹里运行。
Python会优先在这个文件夹里寻找文件。如果你的.txt文件不在这里,就一定会报错。
第三步:查看当前目录下有什么文件。
继续使用os模块:
import os print(os.listdir()) 
你会看到类似:['main.py', 'report.txt', 'data.csv']的回答。
如果你想读取的文件不在这个列表里,说明它不在当前工作目录。这一步非常重要,很多人根本没确认文件是否真的在运行目录里。 
第四步:如何找到文件的完整路径。
在Windows系统中找到你的文件,按住Shift右键点击文件,选择“复制为路径” 。你会得到类似:
"C:\Users\Fangwen\Desktop\daily_notes.txt" 
然后在Python里这样写:
withopen("C:/Users/Fangwen/Desktop/daily_notes.txt", "r") as f:   content = f.read() 
注意两点:1、路径里的\可以改成/或者写成\\例如:
"C:\\Users\\Fangwen\\Desktop\\daily_notes.txt" 
否则 \n 可能被误解为换行符。
而在Mac系统中,查看文件的路径方法更加简单,只需要将文件拖到终端即可。
当你开始关心:程序运行在哪?文件结构如何组织?数据存储在哪个层级?时,你已经从“写代码” 进入“设计系统结构”。
在真实AI产品中,文件路径往往意味着:数据仓库目录、日志存储目录、模型缓存目录、上传文件临时区等问题,路径设计,本质是架构设计的一部分。

批量读取文件:自动化真正开始发生
单个文件读取只是第一步,真正有意义的是批量处理。假设你有多个用户日志:
files = ["day1.txt", "day2.txt", "day3.txt"] 
我们可以这样做:
for file in files:    withopen(file, "r") as f:         text = f.read()     print(file, "长度为:", len(text)) 
循环 + 文件读取 = 批量数据处理能力。
如果再加上AI:
for file in files:     withopen(file, "r") as f:         text = f.read()     prompt = f""" 判断下面文本情绪是 Positive 还是 Negative: {text} """     result = get_llm_response(prompt)     print(file, "->", result) 
你已经构建了一个“情绪扫描系统”。Python负责数据流动,AI负责语义理解。这是现代自动化的标准分工。

写入文件

读取解决的是输入问题,写入解决的是输出问题。

假设我们做了一个“个人成长分析系统”,AI输出了结果:

analysis = """     本周关键词:专注     建议:减少干扰源,优化时间结构。 """ 

我们希望保存它:

with open("weekly_report.txt", "w") as f:     f.write(analysis) 

这里的 "w" 表示写入模式(write)。

注意一个关键点:如果文件已经存在,它会被覆盖。

这在真实产品里意味着什么?意味着你要设计:是否覆盖? 是否追加? 是否版本存档?等等。

文件写入,是数据策略的一部分。


生成结构化输出

结构化的意思是,数据按照固定规则排列,便于程序理解。例如:

姓名,分数张三,85李四,92

这就是结构化格式。

它有列、有分隔符、有规则。对人类来说是表格,对程序来说是可解析的数据。因此,CSV是最简单的结构化格式。CSV的全称是Comma Separated Values,意思是“逗号分隔值”。 

假设你做了一个学习效率分析系统,AI 给出了每天的评分: 

scores = [     ("Day1", 82),     ("Day2", 90),     ("Day3", 76) ] 

我们可以生成CSV内容:

csv_content = "Date,Score\n" for day, score in scores:     csv_content += f"{day},{score}\n" with open("score.csv", "w") as f:     f.write(csv_content)

生成的文件内容是:

Date,Score Day1,82 Day2,90 Day3,76 

更高级一点的做法是让LLM直接生成结构化格式。例如:

prompt = f"""     从下面文本中提取姓名和成绩。    输出为 CSV 格式。    不要多余解释。    格式:Name,Score""" response = get_llm_response(prompt) with open("result.csv", "w") as f:     f.write(response)

这里发生了一件重要的事情——你开始用Prompt控制输出格式。这一步,是“工程化使用AI”的核心能力。

当你开始控制模型输出格式时,你其实在做“接口定义”。


一个完整的小案例:AI日记关键词提取器

假设你每天写日记,保存在不同文件里:

day1.txt day2.txt day3.txt 

我们让AI自动提取每天的“核心关键词”,并保存为 CSV 文件。

files = ["day1.txt", "day2.txt", "day3.txt"] all_keywords = "Date,Keyword\n" for file in files:     with open(file, "r") as f:         text = f.read()     prompt = f"""     提取下面文本的一个核心关键词:     {text}     """     keyword = get_llm_response(prompt)     all_keywords += f"{file},{keyword}\n" with open("keywords.csv", "w") as f:     f.write(all_keywords) 

你已经做了一个小型“关键词提取与结构化分析系统”,并且实际上已经做了用大模型来进行语义分析的事情。


你现在应该达到什么程度?

这一这一篇看完,希望你能够:

1、知道如何读取文件

2、知道如何写入文件

3、能够用循环批量处理多个文件

4、理解路径与工作目录

5、能把文件操作与AI结合形成完整流程


当你把这一阶段的内容串起来看,会发现我们讨论的从来不是零散的语法,而是一条完整的数据路径。真正的AI产品,并不是某个神秘模型在独立运作,而是一整套清晰的数据流在稳定运行。模型只是其中一环,结构才是核心。

当你开始用“输入—处理—判断—决策—输出—存储”这样的框架去理解问题时,编程语言就不再是目的,而只是表达工具。

你正在建立的,是一种系统建模能力——把现实世界的模糊问题,拆解为可定义的状态、可执行的逻辑和可流动的数据。这种能力,远比记住多少语法更重要。

接下来,我们会进入一个更真实的世界。因为现实系统不会永远按理想路径运行。文件可能缺失,数据可能异常,模型可能返回意料之外的结果。真正成熟的系统,并不是不会出错,而是在出错时仍然可控、可恢复、可追踪。

稳定性,才是智能系统走向生产环境的第一门槛。

[空框|Reframe]

 感谢您的阅读,欢迎您的关注

最新文章

随机文章