Python文件基础操作学习

'''----------------一、文件使用流程---------------'''
'''
1、打开:open("文件”,"模式")---文件,指定文件路径
                      ---模式,控制操作模式
    模式---r ---以只读方式打开文件,这是默认模式
            ---文件的指针将会放在文件的开头
            ---注意:文件不存在,会报错
'''
# # 1、打开文件
# f = open("a.txt", "r")
# # 2、读写操作
# content = f.read()
# print(content)
# # 3、关闭文件
# f.close()

'''
    模式---w ---以只写方式打开文件
            ---文件的指针将会放在文件的开头,所以,写入的新内容,会覆盖原内容
            ---注意,文件不存在会自动创建一个新文件
'''
# # 1、打开文件
# f = open("b.txt", "w")
# # 2、读写操作
# f.write("123")
# # 3、关闭文件
# f.close()

'''
    模式---a ---以追加方式(只写)打开文件
            ---文件的指针将会放在文件的结尾,所以,写入的新内容,会新增到文件末尾
            ---注意,文件不存在会自动创建一个新文件
'''
# # 1、打开文件
# f = open("a.txt", "a")
# # 2、读写操作
# f.write("789")
# # 3、关闭文件
# f.close()

'''
    模式---增加b(rb、wb、ab) ---以二进制格式进行操作文件读写---如果文件是二进制文件,则选择此项
                                                      ---例如:图片、视频、音频...
'''
# # 1.打采xx.jpg文件,取出内容,获取内容的前面半部分
# # 1.1、打开文件
# f = open("1.png", "rb")
#
# # 1.2、读取文件内容
# content = f.read()
# print(content)
# # 1.3、关闭文件
# f.close()
#
# # 2、打开另外一个文件xx2.jpg,然后,把取出的半部分内容写入到xx2.jpg文件里面去
# # 1.1、打开目标文件
# tof = open("2.png", "wb")
#
# # 1.2、写入操作
# tof.write(content[0: len(content) // 2])
#
# # 1.3、关闭文件
# f.close()

'''
    模式---增加+(r+、w+、a+、rb+、rw+、ra+) ---代表都是以"读写模式”进行打开,其他特性基本和+前面的模式一致
                                          ---但是关于部分操作,有细节区别
'''
# r+
# # 1、打开文件
# f = open("a", "r+")    # a:123
# # 2、读写操作
# content = f.read()
# print(content)
# f.write("_123")       # a:123_123
# # 3、关闭文件
# f.close()

# # 1、打开文件
# f = open("a", "r+")    # a:123_123
# # 2、读写操作
# f.write("_123")        # a:_123123
# # 3、关闭文件
# f.close()

'''
2、读写
定位:f.seek(偏移量,[0,1,2])---0开头(默认),1当前位置,2文件末尾
                          ---注意文本文件的操作模式下(不带b),只能写0
                             如果想要写1/2,必须在二进制文件操作模式下(带b)
'''
# # 1、打开文件
# f = open("a", "r")    # a:_123123
# # 2、读写操作
# # 文件指针位置
# print(f.tell())  # 0
#
# # 指定文件指针
# f.seek(2)
# print(f.tell())  # 2
#
# print(f.read())      # 23123
#
# print(f.tell())  # 7
# # 3、关闭文件
# f.close()

'''
2.1、读 操作
   f.read(字节数),字节数默认是文件内容长度,下标会自动后移-----------------一次性读取
   f.readline([limit]),读取一行数据,limit,限制的最大字节数
   f.readlines(),会自动的将文件按换行符进行处理,将处理好的每一行组成一个列表返回---------一次性读取
   for in :可遍历f本身,也可遍历行列表
   if f.readable():      判定文件是否可读---------容错处理
   注意:一般文件特别大的时候可以使用readline方法---按行加载,可节省内存,但相比于其他两个读取方法,性能较低
        其他两个方法,一次性读取文件所有内容---虽然占用内存,但处理性能比较高
'''
# f = open("a", "r")
# res = f.readline()
# print(res)
# res = f.readline()
# print(res)
# f.close

'''
   2.2、写 操作
   f.write("内容"),返回值是写入的字节长度
   判定是否可写, f.writeable()
'''
# f = open("a", "a")  # _123123\n123
# f.write("963")  # _123123\n123963
# f.close()

'''
3、关闭
    f.close()---关闭一个打开的文件
             ---为什么需要关闭?---可以释放系统资源
                            ---会立即清空缓冲区的数据内容到磁盘文件
    补充:f.flush()---立即清空缓冲区的数据内容到磁盘文件
'''

'''----------------二、文件相关操作---------------'''
'''
模块:import os
操作:重命名
     删除---删除文件---os.remove('文件路径'),注意:文件不存在会报错
        ---删除目录---os.rmdir(path),不能递归删除目录,如果文件夹非空,会报错
                  ---os.removedirs (path),可以递归的删除目录,如果文件夹非空,会报错
     创建文件夹---os.mkdir(“文件夹名称”[, model]), 不能递归创建
     获取当前目录---os.getcwd()
     改变默认目录---os.chdir('目标目录')
     获取目录内容列表---os.listdir("./")
'''
import os

# 重命名
# os.rename("a", "aa")  # 修改文件名称
# os.renames("two/two", "one/one.txt")

'''------------------1、文件的复制-------------------------'''
''' 1.只读模式,打开要复制的文件
     追加模式,打开副本文件

    2.从源文件史读取内察
       写入到目标文件中

    3.关闭源文件和目标文件
注意:编码格式    
    '''

'''------------------2、文件的分类-------------------------'''
'''
0.获取所有的文件名称列表---os.listdir

1.遍历所有的文件(名称)

2.分解文件的后缀名
    2.1.获取最后一个 . 的索引位置
    2.2.根据这个索引位置,当作起始位置,来截取后续的所有字符串内容
    
3.查看下是否存在同名的目录

4.如果不存在这样的目录,直接创建一个这样名称的目录

5.目录存在-->移动过去   ---import shutil--------shutil.move
'''

'''------------------3、列取文件-------------------------'''
'''
通过给定的文件夹,列举出这个文件夹当中,所有的文件,以及文件夹,子文件夹当中的所有文件

1.列举出,当前给定的文件夹,下的所有子文件夹,以及子文件
2.针对于,列举的列表,进行遍历 

判定,是否是目录
'''

7f60cd1a219d44e593b3100f4ab75c82.png

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值