python 操作文件

1 open函数


在python中,使用open函数,打开一个已经存在的文件,或者新建一个新文件。

函数语法 open(name[, mode[, buffering[,encoding]]])

name : 一个包含了你要访问的文件名称的字符串值(区分绝对路径和相对路径)。

mode : mode

决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读(r)。

buffering : 如果 buffering 的值被设为 0,就不会有寄存。如果

buffering 的值取 1,访问文件时会寄存行。如果将 buffering 的值设为大于 1

的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。


2 关闭文件


对于文件的操作结束之后,使用close()来关闭文件

文件对象.close()


3 文件读


read(num):可以读取文件里面的内容。num表示要从文件中读取的数据的长度(单位是字节),如果没有传入num,那么就表示读取文件中所有的数据

 readlines:可以按照行的方式把整个文件中的内容进行一次性读取,并且返回的是一个列表,其中每一行的数据为一个元素


4 文件写


write():把str写到文件中,write()并不会在str后加上一个换行符

writelines(seq):把seq的内容全部写到文件中(多行一次性写入)。这个函数也只是忠实地写入,不会在每行后面加上任何东西。


5 with的使用


上下文管理器:打开文件之后,不用使用close()关闭文件

          with open("guest_book.txt",'a+',encoding='utf-8') as f:

                   f.writelines(cause+'\n')


6 访问模式与常用的函数




7例题说明


1 在文本编辑器中新建一个文件,写几句话来总结一下你至此学到的Python 知识,其中每一行都以“In Python you can”打头。将这个文件命名为learning_python.txt,并将其存储到为完成本章练习而编写的程序所在的目录中。编写一个程序,它读取这个文件,并将你所写的内容打印三次:第一次打印时读取整个文件;第二次打印时遍历文件对象;第三次打印时将各行存储在一个列表中。

2.下面是一个简单的示例,演示了如何将句子中的'dog'替换为'cat':

>>> message = "I really like dogs."

>>> message.replace('dog', 'cat')

'I really like cats.'

读取你刚创建的文件learning_python.txt 中的每一行,将其中的Python 都替换为另

一门语言的名称,如C。将修改后的各行都打印到屏幕上。块外打印它们。

3.访客:编写一个程序,提示用户输入其名字;用户作出响应后,将其名字写

入到文件guest.txt 中。

4.访客名单:编写一个while 循环,提示用户输入其名字。用户输入其名字后,

在屏幕上打印一句问候语,并将一条访问记录添加到文件guest_book.txt 中。确保这个

文件中的每条记录都独占一行。

5.关于编程的调查:编写一个while 循环,询问用户为何喜欢编程。每当用户输

入一个原因后,都将其添加到一个存储所有原因的文件中。


 
  

with open("learning_python.txt",'r',encoding="utf-8")as f1:

con=f1.read()

print(con)

f1.seek(0,0)

# 只读取一行

    con1=f1.readline()

print(con1)

f1.seek(0,0)

# 读取所有的行并将其保存在列表中

    con2=f1.readlines()

print(con2)

for iin con2:

print(i)

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #with

with open('learning_python.txt','r+',encoding='utf-8')as f2:

contents=f2.read()

con=contents.replace("Python","C")

print(con)

f2.seek(0,0)

f2.writelines(con)

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #wit

name=input("请输入您的名字")

with open("guest.txt","+",encoding="utf-8")as f1:

f1.writelines(name)

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #wit

while 1:

name=input("请输入您的名字")

print("hello"+name)

with open("guest_book.txt ",'a+',encoding='utf8')as f:

# 换行

        f.writelines(name+'\n')

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #wit

while 1:

cause=input("为何喜欢编程:")

with open("guest_book.txt",'a+',encoding='utf-8')as f:

f.writelines(cause+'\n')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值