• Python文件操作


            在学python的学习路上做个小笔记。

    目录

            一、文件的基本操作
            二、文件流
            三、文件目录操作
            四、模块和包

    文件的基本操作

    打开文件

            在Python中,使用内置函数open()进行文件的一些读写操作
            文件操作的格式:
             open(文件路径,访问模式,字符编码)  前面两个参数是必备参数,后面的字符编码是选填,但是大多数情况下都是会写上字符编码
            访问模式
            r             只读         打开文件进行读取,如果文件不存在则报错。
            w           只写        打开供追加的文件,如果不存在则创建该文件。
            a            追加         打开文件进行写入,如果文件不存在则创建该文件。
            b            二进制文件 

            t            文本模式
            +           更新

    读取文件

            read()  读取文件中全部内容,返回一个字符串
            readline()  读取文件中一行的内容,返回一个字符串
            readlines() 读取文件中的所有内容,返回一个列表,并且文件中每一行是列表中的一个元素

            例如:

    1 = open ("test.txt","r")

    写入/创建文件

            write: 写入单行内容,每次只可以接受一个参数,且只能是字符串

            例如:文件名.write("")

    1.write("hello world")

            writelines:写入多行内容,且在括号中用中括号[]包裹,元素用逗号隔开,向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符

            例如:文件名.writelines("[]")

    1.writelines([" \nnihao"])#\n是换行符

            x           创建         创建指定的文件,如果文件存在则返回错误。

    1. w+ : 打开文件,如果文件存在,会将文件删除后新建,不存在则直接新建,使用+号后,可以进行读取
    2. r+ : 读取文件不会被清空,而且光标在最前面,使用+号后,可以写入新的内容
    3. a+ : 文件打开后,光标在最后面,并有文件中原有的内容

    删除文件

    1. import os #os删除模块
    2. os.rmdir("文件名")

    关闭文件

            通常操作完文件后,可以进行对应的关闭使用   close() 

            例如:

    1. f = open('./a.txt','r',encoding='utf-8')
    2. # print(f.read())
    3. # print(f.readline())
    4. print(f.readlines()) # 文件中如果有换行,就会转移为\n,与内容一起成为列表的元素
    5. f.close() # 使用完文件进行关闭
    6. #绝对路径:以盘符开头逐层写路径的是绝对路径
    7. #相对路径:以当前文件目录为起点编写路径 ./代表当前目录 ../代表上层目录,注意:不写./时默认为当前目录

    文件流

    1. 导入io包 : import io
    2. StringIO() 生成字符串临时文件
    3. BytesIo() 生成二进制临时文件
    4. getvalue() 获取这个临时文件中保存的所有内容

            例如:

    1. import io
    2. # 创建一个字符串临时文件
    3. str_io = io.StringIO()
    4. str_io.write('这是写入字符串临IO流中的内容')
    5. # 获取临时文件中的数据->虚拟文件
    6. print(str_io.getvalue())
    7. # 创建一个二进制临时文件
    8. byte_io = io.BytesIO()
    9. byte_io.write(b'this is bytesData') # 在引号前面加个b,代表这个是二进制数据字节
    10. print(byte_io.getvalue())

    文件目录操作

    1. import os #os模块
    2. os.getcwd() #获取当前目录路径
    3. os.chdir() #改变当前所有路径(切换路径)
    4. os.listdir() #获取目录列表,默认获取的是当前目录
    5. os.mkdir('') #创建文件夹
    6. os.rename('','') #文件夹重命名,也支持文件重命名,前面为文件夹之前的名字,后面为新文件夹名
    7. os.makedirs #创建多层目录
    8. os.remove #移除文件
    9. os.rmdir #删除目录
    10. os.removedir #删除多层目录
    11. os.system("cmd") #调用系统命令
    12. os.walk #遍历文件夹
    13. os.path #路径操作

    模块和包

            Python有一个可用于制作随机数的内建模块。random模块有一组如下的方法:

            Python还有其它模块,如下:

    • os:提供了丰富的函数操作文件和目录,例如:os.remove()删除文件,os.rename()重命名文件,os.walk()生成目录树下的所有文件,os.system()执行shell命令等。

    • sys:用于操作Python运行时的环境,例如:sys.path返回模块的搜索路径,sys.argv返回命令行参数列表等。

    • json:用于字符串的序列化和反序列化,例如:json.dumps()将Python对象编码成JSON字符串,json.loads()将JSON字符串解码成Python对象。

    • re:用于字符串的正则表达式操作,例如:re.match()匹配字符串的开始,re.search()搜索字符串,re.findall()找到所有匹配的字符串,re.sub()替换字符串中的匹配项。

    • datetime:用于操作日期和时间,例如:datetime.datetime.now()获取当前时间,datetime.timedelta()表示两个日期或时间之间的差。

    • math:提供了基本的数学运算函数,例如:math.sqrt()计算平方根,math.log()计算自然对数。

    • random:用于生成随机数,例如:random.random()生成0到1之间的随机浮点数,random.randint()生成指定范围内的随机整数。

    • collections:提供了一些容器数据类型,例如:collections.Counter()用于计数,collections.defaultdict()用于创建带有默认值的字典。

    • urllib:用于操作URL,例如:urllib.request.urlopen()打开一个URL,urllib.parse.urlencode()将字典编码成URL参数。

    • logging:用于记录日志信息,例如:logging.basicConfig()设置日志的基本配置,logging.info()记录信息等级的日志。

    • numpy:用于科学计算的模块,提供了多维数组对象和复杂的函数,例如:numpy.array()创建数组,numpy.dot()计算数组的点积。

    • pandas:用于数据分析的模块,提供了强大的数据结构DataFrame和Series,以及对数据进行分析的函数。

    • requests:用于发送HTTP请求的模块,例如:requests.get()发送GET请求,requests.post()发送POST请求。

    • selenium:用于自动化Web浏览器的模块,可以用来进行网页的自动化测试和网页爬虫。

    • smtplib:用于发送邮件,例如:smtplib.SMTP()初始化SMTP服务器的连接,smtplib.SMTP.sendmail()发送邮件。

    • email:用于处理邮件的模块,提供了邮件对象,例如:email.message.EmailMessage()创建邮件对象,email.encoders.encode_base64()对邮件进行编码。

    • sqlite3:用于操作SQLite数据库的模块,例如:sqlite3.connect()连接数据库,sqlite3.Cursor()创建游标对象。

    • pymysql:用于连接MySQL数据库的模块,例如:pymysql.connect()连接MySQL数据库,pymysql.cursors.DictCursor()创建字典游标。

    • pymongo:用于连接MongoDB数据库的模块,例如:pymongo.MongoClient()连接MongoDB,pymongo.database.

  • 相关阅读:
    零基础学Java第二十七天之前端-HTML5详解
    【Redis】解决全局唯一 id 问题
    iNFTnews | Web3时代,用户将拥有数据自主权
    ADC测试杂谈二:matlab操作串口向FPGA发信
    高质量SaaS客户支持如何开发?5步教你如何打造!!
    mysql的备份和恢复
    linux误删系统目录的恢复
    基于Java的图书馆借阅管理系统设计与实现(源码+lw+部署文档+讲解等)
    Golang基础学习笔记
    C++编译期反射实践——以AOP实现为例
  • 原文地址:https://blog.csdn.net/m0_69801663/article/details/138191867