Python文件

本文详细介绍了如何使用Python进行文件的读取、写入和追加操作,包括读取整个文件、逐行读取、创建字符串存储文件数据、写入空文件和追加到现有文件的方法。

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

1.读取整个文件:

创建一个文件:

pi_digits.txt:
3.1415926535
8979323846
2643383279

 

with open('pi_digits.txt') as file_object:#open()返回一个表示文件pi_digits.txt的对象,Python将这个对象存储在后面使用的变量中
     contents = file_object.read()#使用read()函数读取整个文件,并将其作为一个长字符串存储在变量中
    print(contents)

输出:
3.1415926535
88283648232
34237847285

2.逐行读取

filename='pi_digits.txt'
with open(filename)as file_object:
    for line in file_object:
        print(line)

#print(line.rsplit())#去除输出中间多余的行

输出:
3.1415926535

88283648232

34237847285
#['3.1415926535']
['88283648232']
['34237847285']

3.创建一个包含文件各行内容的列表

filename ='pi_digits.txt'
with open(filename)as file_object:
    lines=file_object.readlines()#从文件中读取每一行,并且将其存储在一个列表中;该列表被存储到变量lines中

for line in lines:
    print(line.rsplit())#简单的for 循环来打印lines 中的各行。由于列表lines 的每个元素都对应于文件中的一行,因此输出与文件内容完全一致。

输出:
['3.1415926535']
['88283648232']
['34237847285']

4.使用文件中的内容,将文件中的数据存储成圆周率。

filename ='pi_digits.txt'
with open(filename)as file_object:
    lines=file_object.readlines()
pi_string=''#创建一个变量-用来存储圆周率
for line in lines:
    pi_string += line.rstrip()#使用循环将各行都加入该变量中并删除每行末尾的换行符
print(pi_string)#打印该字符串
print(len(pi_string))#打印该字符串长度


输出:
3.14159265358828364823234237847285
34

5.写入空文件

filename='programing.txt'
with open(filename,'w')as file_object:#'w'表示写入模式
    file_object.write("I love you.\n")
    file_object.write("I love creating new games.\n")


输出:programing.txt
I love you.
I love creating new games.

6.附加到文件

filename = 'programing.txt'
with open(filename, 'a') as file_object:
    file_object.write("I also love finding meaning in large datasets.\n")
    file_object.write("I love creating apps that can run in a browser.\n")

输出:
I love you.
I love creating new games.
I also love finding meaning in large datasets.
I love creating apps that can run in a browser.

实例1.编写一个程序,提示用户输入其名字;用户作出响应后,将其名字写入到文件guest.txt中。

filename='guest.txt'
with open(filename,'w')as file_object:
    print("请输入你的名字:")
    file_object.write(input())

输出:
请输入你的名字:
w

 

实例2.编写一个while 循环,提示用户输入其名字。用户输入其名字后,在屏幕上打印一句问候语,并将一条访问记录添加到文件guest_book.txt中。确保这个文件中的每条记录都独占一行。

filename = 'guess_book.txt'
with open(filename,'a') as file_object:
     while True:
         name = input("Please enter your name:")
         file_object.write(name + "!  Welcome come to Beijing\n")
         if name == 'haha':
             break

输出:
Please enter your name:wwww
Please enter your name:eee
Please enter your name:haha

实例3::编写一个while 循环,询问用户为何喜欢编程。每当用户输入一个原因后,都将其添加到一个存储所有原因的文件中。

print("如果你想退出请输入q.")
filename='reason.txt'
while True:
    reason=input("请输入你喜欢编程的原因:")
    if reason =='q':
        break
    else:
        with open(filename,'a')as  file_object:
            file_object.write(reason + '\n')

输出:
如果你想退出请输入q.
请输入你喜欢编程的原因:纯喜欢
请输入你喜欢编程的原因:不知道
请输入你喜欢编程的原因:q

实例4:为了把把接受调查的人的名字和他喜欢编程的原因关联起来,我们把代码改一下:

print("如果你想退出请输入q.")
print("如果你想换别人回答问题请输入ot。")
filename='reason.txt'
name=input("请输入你的名字:")
while True:
    if name=="q":
        break
    elif name=="ot":
        name=input("请输入你的名字:")
    else:
        reason=input("请输入你喜欢编程的原因:")
        if reason =='q':
            break
        elif reason=='ot':
            name=input("请输入你的名字:")
        else:
            with open(filename,'a')as  file_object:
              file_object.write("name"+name.title()+" reason:"+reason + '\n')


输出:
如果你想退出请输入q.
如果你想换别人回答问题请输入ot。
请输入你的名字:hh
请输入你喜欢编程的原因:jj
请输入你喜欢编程的原因:kk
请输入你喜欢编程的原因:ot
请输入你的名字:shd
请输入你喜欢编程的原因:fg
请输入你喜欢编程的原因:ot
请输入你的名字:jsfjag
请输入你喜欢编程的原因:sfuag
请输入你喜欢编程的原因:ot
请输入你的名字:q

reason.txt:

 

'r'读取文件模式

‘w’写入模式

‘a’附加模式

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值