【菜鸟教程笔记】python输入输出

本文介绍了Python的输入输出,包括使用input()函数从键盘读取输入,以及文件操作如open()函数的使用,详细讲解了不同模式下打开文件的方法。通过示例展示了如何写入、读取文件,如write()、read()、readline()和readlines()等方法的运用。还提到了文件关闭的重要性和使用with关键字的便利性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

{0:2d}中,0代表第一个参数, :2d表示以两位整数的方式输出

Python提供了input()内置函数从标准输入中读入一行文本。默认的标准输入是键盘。

读和写文件

open()将会返回一个file对象,语法格式为open(filename,mode)

filename:包含了要访问的文件名称的字符串值。

mode:决定了打开文件的模式:只读、写入、追加等 

不同模式打开文件的完全列表:

模式描述
r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。
r+打开一个文件用于读写。文件指针将会放在文件的开头。
rb+以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
w打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
w+打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb+以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
a打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

举个例子,将字符串写入到foo.txt中

#!/usr/bin/python3

#打开 一个文件

f=open("/tmp/foo.txt","w")

f.write("Python 是一个非常好的语言。\n是的,的确非常好\n") 

#关闭打开的文件

f.close()

(这个例子调用了open函数、write和close属性。因为选择的是w,所以不能调用read方法)

----------新的函数-------

f.readline()会从文件中读取单独的一行,识别的换行符为'\n'。f.readline()如果返回一个空字符串,说明已经读取到最后一行。

调用一次,只能读一行

f.readlines()将返回文件中包含的所有行。 如果设置可选参数sizehint,则读取指定长度的字节,并且将这些字节按行分割。

(以列表形式输出所有行,会显示换行符\n)

也可以通过迭代的形式读取每行:

# 打开一个文件

f = open("/tmp/foo.txt", "r")

for line in f:

    print(line, end='')

f.close()

----------------------------------

f.write()用法将string写入文件中。这个方法返回的是写入的字符数。

如果写入的不是字符串,比如,写入的是一个字符串和一个数字组成的元组('hi',2),需要先将其进行转换为字符串

f=open('/qwq/temp.txt','w')

value=('hi',2)

s=str(value)

f.write(s)

f.close()#关闭打开的文件

-----------------------------------

f.close()用于关闭打开的文件。处理完一个文件后,用f.close()来关闭文件并释放系统的资源。如果此时再尝试调用该文件,会抛出异常。

处理一个文件对象时,最好使用with关键字,在结束后会正确地关闭文件。

例:

with open('/tmp/foo.txt', 'r') as f:

    read_data=f.read()

----read、readline和readlines的区别

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值