笨方法自学python(九)-读写文件

读取文件

前面已经学过了 input 和 argv,这些是你开始学习读取文件的必备基础。你可能需要多多实验才能明白它的工作原理,这节练习涉及到写两个文件。一个正常的 ex15.py 文件,另外一个是 ex15_sample.txt,第二个文件并不是脚本,而是供你的脚本读取的文本文件。以下是后者的内容:

bash 复制代码
This is stuff I typed into a file.
It is really cool stuff.
Lots and lots of fun to have in here.

我们要做的是把该文件用我们的脚本"打开(open)",然后打印出来。

以下是ex15.py的程序

python 复制代码
from sys import argv
script, filename = argv
txt = open(filename)
print("Here's your file %r:"%filename)
print(txt.read())
print("Type the filname again:")
file_again = input(">")
txt_again = open(file_again)
print(txt_again.read())

运行结果:

读写文件

需要记住以下命令:

  1. close -- 关闭文件。跟你编辑器的 文件->保存... 一个意思。
  2. read -- 读取文件内容。你可以把结果赋给一个变量。
  3. readline -- 读取文本文件中的一行。
  4. truncate -- 清空文件,请小心使用该命令。
  5. write(stuff) -- 将 stuff 写入文件。

例题:

python 复制代码
from sys import argv

script,filename = argv

print("we're going to erase %r." %filename)
print("if you don't want that,hit CTRL-C(^C).")
print("if you do want that,hit RETURN.")

input(">")

print("opening the file...")
target = open(filename,'w')

print("Truncating the file.Goodbye!")

target.truncate() #清空文件

print("Now I'm going to ask you for three lines.")

line1 = input("line1:")
line2 = input("line2:")
line3 = input("line3:")

print("I'm going to write these to the file")
target.write(line1)
target.write("\n")
target.write(line2)
target.write("\n")
target.write(line3)
target.write("\n")
print("And finally,we close it.")
target.close()

运行结果:

line1,line2,line3后面是我们自己输入的,运行完毕后打开 test.txt看看里面是什么

相关推荐
小白学大数据2 分钟前
把 Modbus 轮询塞进 Trio 的异步循环:内存映射与定时采集实战
网络·python·搜索引擎
FriendshipT24 分钟前
Ubuntu 20.04 下使用 Ollama 本地部署 AI 大模型
linux·人工智能·python·深度学习·ubuntu
天天爱吃肉821837 分钟前
# 商用车多体动力学实战笔记|第7篇:制动系统与制动热衰退、ABS滞环控制
大数据·人工智能·笔记·python·嵌入式硬件·汽车
bamb0039 分钟前
一个项目带你入门AI应用开发08
python
鸿芯微控科技44 分钟前
MFC质量流量控制器流量不准怎么排查?设定值、反馈值与参考流量对比,附Python代码
c++·python·mfc
大尚来也1 小时前
用 Python 自动整理文件、重命名、分类电脑文件夹
开发语言·python
极序时代GEO品牌优化1 小时前
杭州极序时代|面向地域、设备与用户画像的动态GEO
人工智能·python·算法·极序时代geo
qq_22589174662 小时前
基于Python的外卖订单数据分析可视化系统
python·信息可视化·django
MC皮蛋侠客2 小时前
SQLAlchemy 系列(三):声明式映射与 Schema——让类型、默认值和约束一致
数据库·python
会博通·代码搬运工2 小时前
会博通API对接实战:工程企业文档分布式采集系统的技术实现与Python SDK详解
开发语言·分布式·python·线性代数·矩阵·架构·电子档案合规