文件操作(C语言)

目录

一.打开文件

二.打开文件操作

三.文件常用方法


一.打开文件

r:以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。

a : 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

w:只写

rb:以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。

ab:以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

wb:以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。

r+:打开一个文件用于读写。文件指针将会放在文件的开头。

a+:打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。

w+:读写

rb+:以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。

ab+:以二进制方式打开,数据写入时在原内容后追加;打开后指针在文件头部。

wb+:以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。

二.打开文件操作

 打开文件读写方式

r+:是以读写方式打开,但是如果文件不存在,就会报错

w+:是以读写方式打开,但是如果文件不存在,就会创建新文件;如果文件存在,则正常打开

例:从磁盘的文件中读内容

#coding=utf-8
# 打开文件
file1 = open("D:/py1/a2.txt","w+")
​
# 读取文件的内容
str = file1.read()
​
# 关闭文件
file1.close()
​
print(str)

 read的方法

作用:是从打开的文件中读取内容原理:

read是通过移动指针来从文件中读取内容

#coding=utf-8
# 打开文件
file1 = open("D:/py1/a1.txt","r")
​
# 读取文件的内容
# 第一次读取文件的内容
str1 = file1.read()
# 第二次读取文件的内容
str2 = file1.read()
​
# 关闭文件
file1.close()
​
# 第一次读取文件内容,会正常输出,第二次执行read没有任何输出
# 因为第一次读取完成后,指针已经移动到了最后的位置
print(str1)
print(str2)

write

作用:是向文件中写入内容

向文件中写入内容

str1 = "hello boys\n"
str2 = "i am"
str3 = "zxhk\n"
str4 = "i come from hebei\n"
​
# 第一步:新建/打开文件
file = open("d:/py1/myfile.txt","a")
​
# 第二步:写入
file.write(str1)
file.write(str2)
file.write(str3)
file.write(str4)
​
# 第三步:关闭文件
file.close()


将myfile.txt 复制一个新文件afile.txt

# 打开两个
# myfile.txt 以只读打开,然后读取内容
f1 = open("d:/py1/myfile.txt","r")
# afile.txt  以写打开,
f2 = open("d:/py1/afile.txt","w")
​
# 然后将从myfile.txt读的内容写入到afile.txt
str = f1.read()
f2.write(str)
​
# 关闭文件
f1.close()
f2.close()

三.文件常用方法

read() 从文件中读取全部内容,读取后指针指向文件的末尾

write() 向文件中写入内容

readline() 执行一次readline,就会从文件中读取一行出来

readlines() 执行一次readline,就会将文件中的全部内容读取出来,并保存成一个列表,一行就是一个元素
 

让用户输入5个用户名,将用户名保存到文件中


f = open("d:/py1/name.txt","w")
​
for n in range(5):
    name = input("please etner name: ")
    str = name + "\n"
    f.write(str)
​
f.close()

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值