当前位置: 首页 > news >正文

现在做网站还有出路吗今日新闻 最新消息 大事

现在做网站还有出路吗,今日新闻 最新消息 大事,小程序搭建的方式,新闻网站建设经验文章目录 [toc]打开文件open()函数参数解析示例 文件路径绝对路径示例 相对路径示例 打开文件的模式常用模式 读文件示例 写文件示例 按行读写文件readline()示例 readlines()示例 writelines()示例 关闭文件示例finally语句示例 上下文管理器示例 自定义读写类示例 打开文件 …

文章目录

    • @[toc]
      • 打开文件
        • `open()`函数参数解析
        • 示例
      • 文件路径
        • 绝对路径
          • 示例
        • 相对路径
          • 示例
      • 打开文件的模式
        • 常用模式
      • 读文件
        • 示例
      • 写文件
        • 示例
      • 按行读写文件
        • `readline()`
          • 示例
        • `readlines()`
          • 示例
        • `writelines()`
          • 示例
      • 关闭文件
        • 示例
        • `finally`语句
          • 示例
      • 上下文管理器
        • 示例
      • 自定义读写类
        • 示例

打开文件

  • Python中,打开文件使用的是open()函数,open()函数的基本语法如下
open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True)
open()函数参数解析
  • file:要打开的文件路径,可以是绝对路径也可以是相对路径
  • mode:打开文件的模式,默认为r,表示以只读模式打开文件
  • buffering:缓冲策略,是一个可选参数,默认值为None,表示使用系统默认的缓冲策略
    • 取值为 0 0 0False时,表示不进行缓冲,直接从磁盘读取或写入文件
    • 取值为 1 1 1True时,表示行缓冲,即每写入一行数据时,将其写入文件
    • 取值为大于 1 1 1的整数时,表示缓冲区的大小,以字节为单位,指定缓冲区大小可以提高文件的读取和写入效率
    • 取值小于 0 0 0时,使用系统默认的缓冲策略
  • encoding:文件编码,是一个可选参数,默认值为None,表示使用系统默认编码,常用编码包括'utf-8''gbk'
  • errors:编码错误处理方案,是一个可选参数,默认值为None,表示使用系统默认的错误处理方案,常用的取值包括'strict''ignore''replace'
  • newline:换行符处理,是一个可选参数,默认为None,表示使用系统默认的换行符处理方式,常用的取值包括'\n''\r\n'
  • closefd:关闭文件描述符,默认值为True,表示在关闭文件的同时关闭文件描述符
示例
  • 打开C:/Users/FOLLOW_MY_HEART/Desktop/Python基础/【Python基础】文件读写/test.txt路径下的文件
file = open('C:/Users/FOLLOW_MY_HEART/Desktop/Python基础/【Python基础】文件读写/test.txt')file_name = file.nameprint(file_name)
C:/Users/FOLLOW_MY_HEART/Desktop/Python基础/【Python基础】文件读写/test.txt
  • open()函数返回一个File对象,表示计算机中的一个文件,读取文件时需要文件已经存在,否则会引发FileNotFoundError异常

文件路径

  • 文件路径是指文件在计算机上的位置,分为绝对路径和相对路径
绝对路径
  • 绝对路径是指从根文件夹开始的路径
  • Windows系统下,C盘、D盘等为根文件夹,在该盘符中的文件需要从根文件夹开始往下一级一级进行查找
  • Linux系统下,/为根文件夹,所有文件的查找从/开始
示例
file = open('C:/Users/FOLLOW_MY_HEART/Desktop/Python基础/【Python基础】文件读写/test.txt')file_name = file.nameprint(file_name)
C:/Users/FOLLOW_MY_HEART/Desktop/Python基础/【Python基础】文件读写/test.txt
相对路径
  • 相对路径是指相对于程序当前工作目录的路径,比如存放当前程序的文件夹的绝对路径是C:/Users/FOLLOW_MY_HEART/Desktop/Python基础/【Python基础】文件读写/,如果使用相对路径,就可以不写这个路径,用.代替这个路径值
示例
file = open('./test.txt')file_name = file.nameprint(file_name)
./test.txt

打开文件的模式

  • open()函数默认的打开文件的模式为r,表示以只读模式打开文件
常用模式
模式注释
r只读模式,默认模式
w只写模式,写入的内容会覆盖文件原有的内容,如果文件不存在会创建文件再进行写入
a追加模式,在文件末尾追加内容,如果文件不存在会创建文件再进行写入
+读写模式,与其他模式组合使用,如r+w+a+
x创建模式,如果文件已经存在会引发异常
t文本模式,默认模式
b二进制模式,用于访问二进制文件,与其他模式组合使用,如rbwbabrb+

读文件

  • open()函数返回的是一个File对象,使用File对象的read()方法可以读取文件内容,以字符串类型返回
  • read()函数语法
read(self, n=-1)
  • 参数n表示要读取的字符数,默认值为 − 1 -1 1,表示读取整个文件内容
    • 取值大于 0 0 0时,读取文件的前 n n n个字符
    • 取值等于 0 0 0时,不会读取任何字符,返回空字符串
    • 取值小于 0 0 0时,读取整个文件内容
示例
  • test.txt文件中提前写入Hello, world!,然后执行如下代码
file = open('./test.txt', 'r')res = file.read()print(res)
Hello, world!

写文件

  • File对象的write()方法可以向文件写入内容,返回写入文件的字符串的长度
示例
file = open('./test.txt', 'w')
len = file.write('Hello!')print(len)file = open('./test.txt', 'r')
res = file.read()print(res)
6
Hello!
  • w模式写入的内容会覆盖文件原有的内容

  • 如果想要向文件中追加内容,则使用a模式

file = open('./test.txt', 'a')
file.write('\nHello!')file = open('./test.txt', 'r')
res = file.read()print(res)
Hello!
Hello!
  • 通过在追加的字符串中使用换行符\n,可以实现文件中内容的换行

按行读写文件

  • readline()readlines()writelines()方法用于按行读写文件
readline()
  • readline()方法默认情况下读取文件的一行内容,也可以指定在一行中读取的字符数
示例
file = open('./test.txt', 'w')
file.write('Hello, world!\nWelcome!')file = open('./test.txt', 'r')res1 = file.readline()
res2 = file.readline()
res3 = file.readline()print(res1)
print(res2)
print(res3)
Hello, world!Welcome!
  • 可以看到,readline()方法读取当前文件指针所在的一行中的内容,以换行符\n区分文件的每一行,如果readline()方法返回一个空字符串,说明已经读取到文件的末尾
readlines()
  • readlines()方法读取文件的每一行内容,返回一个列表,列表中的每个元素就是文件中的每一行内容
示例
file = open('./test.txt', 'w')
file.write('Hello, world!\nWelcome!')file = open('./test.txt', 'r')
res = file.readlines()print(res)
['Hello, world!\n', 'Welcome!']
writelines()
  • writelines()方法向文件写入每一行内容,传入一个列表,列表中的每个元素就是写入文件中的每一行内容
示例
file = open('./test.txt', 'w')
len = file.writelines(['Hello, world!\n', 'Welcome!'])file = open('./test.txt', 'r')
res = file.read()print(res)
Hello, world!
Welcome!

关闭文件

  • 一般情况下,一个文件对象在退出程序后会自动关闭,但是为了保证数据安全,还是要显示地写一个close()方法,用于关闭文件
示例
file = open('./test.txt')file_name = file.nameprint(file_name)file.close()
./test.txt
finally语句
  • 当使用try语句发生异常时,即使使用了close()方法,也可能不被执行
  • 可以将close()方法放在finally语句中,从而保证无论程序是否发生异常都会调用close()方法来关闭文件
示例
file = None
path = './test.txt'try:file = open(path, 'r')
except FileNotFoundError as e:print(e)
finally:if file:print(file.name)file.close()
./test.txt

上下文管理器

  • Python中的with语句可以帮助我们自动调用close()方法
示例
with open('./test.txt', 'r') as file:file_name = file.nameprint(file_name)
./test.txt
  • as关键字用于将文件对象赋值给变量file

  • with语句中的代码运行结束时,会自动调用close()方法


自定义读写类

示例
class OpenFile:def __init__(self, file_name):self.file_obj = file_namedef __enter__(self):self.file_obj = open(self.file_obj, 'r', encoding='utf-8')return selfdef __exit__(self, exc_type, exc_val, exc_tb):self.file_obj.close()def my_read(self):print(self.file_obj.read())with OpenFile('./test.txt') as file:file.my_read()
Hello, world!
Welcome!
  • 当被with语句调用时会自动触发__enter__()方法,用于打开文件
  • with语句中的代码运行结束时,会自动触发__exit__()方法,用于关闭文件
  • 自定义读写类展示了上下文管理器的底层实现

http://www.yidumall.com/news/57511.html

相关文章:

  • 海口做网站的公司媒体邀约
  • 南京网站制作公司排名中国今天最新军事新闻
  • 江苏省建设工程招标网站企业网站建设方案策划书
  • wordpress 留言板展示二十条优化措施
  • 哪个网站学习做辅助站优云网络公司
  • 上海企业网络推广价格网店产品seo如何优化
  • 地方信息网站怎么做网络产品及其推广方法
  • 青岛网站建设服务中心站长工具怎么关掉
  • 扬州公司做网站公司微信朋友圈产品推广语
  • 淄博手机网站建设保定seo排名优化
  • 腾讯企点怎么注册河南搜索引擎优化
  • 番禺网站建设优化海底捞口碑营销
  • 杭州俄语网站建设抖音优化排名
  • 太原提高网站排名视频号的链接在哪
  • 资源型网站建设 需要多大硬盘seo外包多少钱
  • 苏州高端网站建设咨询竞价网络推广托管
  • 有哪些做企业网站的厦门关键词优化报价
  • 佛山附近做网站的公司网站设计公司排行
  • 网站开发后端语言网络优化工程师招聘信息
  • wordpress 图标 png重庆seo排名优化
  • 东营网站制作公司社群营销的十大步骤
  • 网站设计 三把火科技浏览器地址栏怎么打开
  • 网站建设3合1什么意思谷歌浏览器手机版
  • 广州商城型网站建设seo关键词推广
  • 单位建设网站的意义网站建设策划书
  • 搜英文关键词网站五年级上册优化设计答案
  • 段友做的看电影网站百度词条官网入口
  • 网站怎么icp备案建设企业营销型网站
  • 东莞 企业 网站制作搜索引擎优化哪些方面
  • 吕梁推广型网站开发淘宝关键词搜索量排名