您当前的位置: 首页 >  Python

ThnPkm

暂无认证

  • 2浏览

    0关注

    98博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Python 笔记11 文件

ThnPkm 发布时间:2021-12-14 20:17:14 ,浏览量:2

目录

文件

打开文件

文件读取

关闭文件

文件写入

with 语句

总结:

实操

文件

常见文件类型:

 

f = open("C:/Users/达/Desktop/record.txt", "r", encoding="utf-8") #打开文件
content = f.read()  #读取文件内容
f.close()      #关闭文件
print(content)  #测试文件

打开文件

open() 函数打开文件并返回文件对象

我们使用内置函数open( )打开文件test.txt,然后使用变量f来存储打开的文件

open( )函数接收了三个参数,第一个是文件路径,第二个是文件的读写模式,第三个是文件的解码方式。前两个参数我们使用了位置传参,分别传入"test.txt"和"r",最后一个使用了关键字传参。。

f = open("C:/Users/达/Desktop/record.txt", "r", encoding="utf-8") #打开文件

三个实参对应的形参分别是file、mode、encoding。file表示要读写的文件路径,是字符串类型;mode是读写模式,也是字符串类型;encoding是解码方式,也是字符串类型。

然后我们来看第二个形参mode传入了"r",意思是我们要使用只读的方式来处理文件。

只读是什么意思呢?只读的意思就是只能读取,不能写入。"r"是英文单词read的缩写,代表着只读模式。"r"也是mode参数的缺省值。

也就是说如果我们不对形参mode传入实参,open( )函数也会默认使用只读处理模式。

文件读取

f.read( )读取文件f中的内容。read( )函数是文件对象的特有方法,它没有参数。

我们把文件读取的内容存储给了变量content,并在最后打印出了content变量。

content = f.read()  #读取文件内容
f.close()      #关闭文件
print(content)  #测试文件

  • readline( )方法是一行一行地读取数据,
  • readlines( )方法是一次性读取整个文件的所有行的数据,数据的行就是使用\n来区别的
  • list(f) 可以把文件整个内容放进列表里
  • tell()可以告诉当前指针所在位置

 

关闭文件

简单粗暴,不要忘记

变量名.close()

文件写入
f = open("C:/Users/达/Desktop/record.txt", "w", encoding="utf-8")  # 打开文件
# 第二步 写入内容
f.write('一二三四五\n')
f.write('上山打老虎\n')
# 第三步 关闭文件
f.close()
# 第四部 只读方式打开文件
f = open("C:/Users/达/Desktop/record.txt", "r", encoding="utf-8")
date = f.read()
f.close()
print(date)

这里使用写模式,也就是"w"。

与表示只读的"r"不同,“w"是write的缩写,表示只写。所以在进行写入时,给参数mode传入的参数值应该是"w”

写入的时候会先暴力清空文件所有内容,再从第一行开始写。如果你不想覆盖原来的内容,可以使用另一种模式"a"(append)来追加

f = open("C:/Users/达/Desktop/record.txt", "a", encoding="utf-8")  # 打开文件
# 第二步 写入内容
f.write('一二三四五\n')
f.write('上山打老虎\n')
# 第三步 关闭文件
f.close()
# 第四部 只读方式打开文件
f = open("C:/Users/达/Desktop/record.txt", "r", encoding="utf-8")
date = f.read()
f.close()
print(date)

with 语句
with open("C:/Users/达/Desktop/record.txt", "a", encoding="utf-8") as f:
    f.write("这里是用with语句写入的句子")

没有用close()关闭文件,with语句写入的句子被保存了下来

总结:

  实操

编写一个程序,接受用户的输入并保存为新的文件

def file_write(file_name):
    f = open(file_name, "w",encoding="utf-8")
    print("请输入内容,如果单独输入w则保存退出")

    while True:
        write_some = input()
        if write_some != 'w':
            f.write(write_some)
        else:
            break
    f.close()


file_name = input("请输入文件名:")
file_write(file_name)


编写一个程序,当用户输入文件名和行数(N)后,将该文件的前N行内容打印到屏幕上

def file_view(file_name, line_num):
    print('%s文件的%s行内容如下' % (file_name, line_num))
    f = open(file_name,encoding="utf-8")
    for i in range(int(line_num)):
        print(f.readline(), end='')

    f.close()


file_name = input('请输入文件名:')
line_num = input('请输入行数:')
file_view(file_name, line_num)

关注
打赏
1660722558
查看更多评论
立即登录/注册

微信扫码登录

0.0360s