python基础系列:
python自学篇一[ Anaconda3安装 ]
python自学篇二[ pycharm安装及使用 ]
python自学篇三[ 判断语句if的使用 ]
python自学篇四[ 基本数据类型和字符串常用处理 ]
python自学篇五[ 列表 ]
python自学篇六[ 元组 ]
python自学篇七[ 字典+深拷贝与浅拷贝 ]描述
python自学篇八[ 循环:while+for+pass+range()+推导式 ]
python自学篇九[ 函数(一):参数+对象 ]
python自学篇九[ 函数(二):返回值return+yield+迭代器+生成器 ]
python自学篇九[ 函数(三):变量作用域+ATM+5个小练习 ]
python自学篇九[ 函数(四):递归函数+匿名函数+内置函数+高阶函数 ]
python自学篇十[ 面向对象 (一) :面向对象概念+定义类+练习一]
python自学篇十[ 面向对象 (二) :继承+多继承+类属性+实例属性]
python自学篇十[ 面向对象 (三) :访问限制+类方法+静态方法]
python自学篇十[ 面向对象 (四) :王者荣耀小游戏+模拟一个简单的银行进行业务办理的类]
python自学篇十一[ 模块简介+模块制作+dir()函数+标准模块+包]
python自学篇十二[ 文件:打开+读取+写入+3个习题]

文章目录

  • 一.文件的操作
    • 1.文件的打开
            • open函数
            • 参数
            • 文件读写
            • with…open
            • 访问模式
    • 2.文件的关闭
            • close()函数
  • 二.文件的读取
    • 1.文件的读取
            • readlines()
            • 用open结合for循环逐行读取
            • with结合for逐行读取
            • 用open结合for,readlines循环逐行读取
    • 2.文件的写入
            • 写入文件
            • 写的方式打开一个文件
            • 写入内容到文件中
            • tell查看文件指针
            • seek设置指针
            • 常用函数
  • 四.文件夹
          • 1.获取当前路径
          • 2.列出当前或指定目录下的文件和文件夹
          • 3.判断是否是一个文件
          • 4.判断文件是否存在
          • 5.重命名文件
          • 6.删除文件
          • 7.创建文件夹
          • 8.删除文件夹
  • 五.习题

一.文件的操作

1.文件的打开

open函数
  • 在python中,使用open函数,打开一个已经存在的文件,或者新建一个新文件
  • 函数语法:
open(name[, mode[, buffering[,encoding]]]) 

语法:

 open ('文件名','打开的模式')

操作:

files = open('python.txt','r',encoding= 'utf-8') #以只读的模式打开python.txt
print(files)
files.close()#关闭文件
参数
  • name :
    一个包含了你要访问的文件名称的字符串值(区分绝对路径和相对路径)。
  • mode :
    mode 决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读®。
  • buffering :
    如果 buffering 的值被设为 0,就不会有寄存。如果 buffering 的值取 1,访问文件时会寄存行。如果将 buffering 的值设为大于 1 的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。
文件读写

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

files = open('python.txt','r',encoding= 'utf-8') #以只读的模式打开python.txt
print(files)
files.close()#关闭文件
content = files.read()  #读取数据保存在content变量当中
content = files.read(10)  #穿入参数会读取指定的长度
print(content)
files.close()关闭文件
with…open
  • with open与open的区别
    关键字with在不再需要访问文件后将其关闭。这可让Python去确定:你只管打开文件,并在需要时使用它,Python自会在合适的时候自动将其关闭

    也可以调用open()和close()来打开和关闭文件,但这样做时,如果程序存
    在bug,导致close()语句未执行,文件将不会关闭。

with open('python.txt','r',encoding= 'utf-8' ) as files:
    contnet = files.readlines()#按行读取文件内容,保存在列表当中
    print(contnet)
访问模式

r:只读的方式打开,如果文件不存在会提示错误
w:只写的方式打开,如果文件存在则覆盖,不存在则创建
a:打开一个文件进行追加内容,如果存在则打开,不存在则创建新的文件
r+:读写,会将文件指针调到文件的头部
w+:读写,文件不存在直接创建,存在覆盖源文件
a+:追加读写,会将文件的指针调到文件的末尾


2.文件的关闭

close()函数
  • 语法如下:
 文件对象.close()

二.文件的读取

1.文件的读取

readlines()
  • readlines:可以按照行的方式把整个文件中的内容进行一次性读取, 并将其存储在一个列表中,其中每一行的数据为一个元素
  • Python将其中的所有文本都解读为字符串。如果你读取的是数字,并要将其作为数值使用,就必须使用函数int()将其转换为整数,或使用函数float()将其转换为浮点数。
readlines()
用open结合for循环逐行读取
files = open('python.txt','r',encoding= 'utf-8')
i = 1
for line in files:
    print('这是第%d行内容:%s'%(i,line))
    i+=1
files.close()
with结合for逐行读取
with open('python.txt','r',encoding= 'utf-8') as files:
    i = 1
    for line in files:
        #没有使用read
        print('这是第%d行内容:%s'%(i,line))
        i+=1
用open结合for,readlines循环逐行读取
files = open('python.txt','r',encoding= 'utf-8')
contents = files.readlines()#逐行读取内容
files.close()#关闭文件
i = 1
for line in contents:
    #没有使用read
    print('这是第%d行内容:%s'%(i,line))
    i+=1
files.close()

2.文件的写入

写入文件
  • 如果你要写入的文件不存在,函数open()将自动创建它。
  • 我们使用文件对象的方法write()将一个字符串写入文件.这个程序是没有终端输出
  • 函数write()不会在你写入的文本末尾添加换行符,需要手动添加\n
  • Python只能将字符串写入文本文件。要将数值数据存储到文本文件中,必须先使用函数
    str()将其转换为字符串格式。
写的方式打开一个文件
files = open('python.txt','w',encoding='utf-8')
#files = open('python.txt','a',encoding='utf-8')
content = 'hello,爱你哟'
content = '元旦一起喝咖啡,看电影可以吗?'
files.write(content) #写入数据
files.close()
写入内容到文件中
with open('python.txt','a',encoding='utf-8') as files:
    content = '想和你一起去开海'
    files.write(content)
tell查看文件指针
files = open('python.txt','r',encoding='utf-8')
str = files.read(5)
print('当前读取的数据是:'+str)

position = files.tell()#查看文件的指针
print('当前的位置是:',position)
seek设置指针
files = open('python.txt','r',encoding='utf-8')
str = files.read(5)
print('当前读取的数据是:'+str)
files.seek(2,0)#重新设置文件的指针
str = files.read(2)
print('当前读取的数据是:'+str)
position = files.tell()#查看文件的指针
print('当前的位置是:',position)
files.close()
常用函数


四.文件夹

1.获取当前路径
import os
print(os.getcwd())
2.列出当前或指定目录下的文件和文件夹
import os
print(os.listdir('F:\Python\\'))
3.判断是否是一个文件
import os
print(os.path.isfile('.\\demo.txt'))
4.判断文件是否存在
import os
print(os.path.exists('.\\demo.txt'))
5.重命名文件
import os
os.rename('demo.txt','demo1.txt')
6.删除文件
import os
os.remove('demo1.txt')
7.创建文件夹
import os
os.mkdir('study')
8.删除文件夹
import os
os.rmdir('study')

五.习题

  • 1.在文本编辑器中新建一个文件,写几句话来总结一下你至此学到的Python 知识,
    其中每一行都以“In Python you can”打头。将这个文件命名为learning_python.txt,
    并将其存储到为完成本章练习而编写的程序所在的目录中。编写一个程序,它读取这个文件,
    并将你所写的内容打印三次:第一次打印时读取整个文件;第二次打印时遍历文件对象;
    第三次打印时将各行存储在一个列表中。
for i in range(3):
    if i == 0:
        with open('learning_python.txt','r',encoding='utf-8') as files:
            content = files.read()
            print('one')
            print(content)
    if i == 1:
        with open('learning_python.txt','r',encoding='utf-8') as files:
            print('two')
            for line in files:
                print(line)
    if i == 2:
        with open('learning_python.txt','r',encoding='utf-8') as files:
            content = files.readlines()
            print('three')
            print(content)
  • 2.下面是一个简单的示例,演示了如何将句子中的’dog’替换为’cat’:
    message = “I really like dogs.”
    message.replace(‘dog’, ‘cat’)
    ‘I really like cats.’
    读取你刚创建的文件learning_python.txt 中的每一行,将其中的Python 都替换为另
    一门语言的名称,如C。将修改后的各行都打印到屏幕上。块外打印它们。
读取内容
file1 = open('learning_python.txt','r',encoding='utf-8')
content1 = file1.read()
file1.close()

#写入内容并且读取新的内容
file2 = open('learning_python.txt','w+',encoding='utf-8')
file2.write(content1.replace('Python','C'))#写入的时候替换内容
file2.seek(0)#重置指针导开头
content2 = file2.read()#读取所有的内容
print(content2)
file2.close()
  • 3.访客:编写一个程序,提示用户输入其名字;用户作出响应后,将其名字写
    入到文件guest.txt 中。
while True:
    name = input('请输入您的姓名:')
    if name == 'n':
        break;
    with open('guest.txt','a+',encoding='utf-8') as files:
        files.write(name)
        files.write('\n')
        files.seek(0)
        content = files.read()
        print(content)

更多推荐

python自学篇十二[ 文件:打开+读取+写入+文件夹+3个习题]