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

望野博物馆馆长阎焰google seo整站优化

望野博物馆馆长阎焰,google seo整站优化,安徽省建设银行网站,wordpress4.9.8火车头目录 文件 文件路径 文件操作 打开文件 关闭文件 写文件 读文件 上下文管理器 文件 变量是把数据保存到内存中 . 如果程序重启 / 主机重启 , 内存中的数据就会丢失; 要想能让数据被持久化存储 , 就可以把数据存储到硬盘中 . 也就是在 文件 中保存&…

目录

文件

文件路径

文件操作

打开文件

关闭文件

写文件

读文件

上下文管理器


文件

变量是把数据保存到内存中 . 如果程序重启 / 主机重启 , 内存中的数据就会丢失;
要想能让数据被持久化存储 , 就可以把数据存储到硬盘中 . 也就是在 文件 中保存;
Windows " 此电脑 " , 看到的内容都是 文件。
  • 现在的电脑基本没有扩展名的后缀显示。

此电脑--查看--文件扩展名

文件路径

  一个机器上, 会存在很多文件 , 为了让这些文件更方面的被组织 , 往往会使用很多的 " 文件夹 "( 也叫做 目录 ) 来整理文件.
 实际一个文件往往是放在一系列的目录结构之中的.
为了 方便确定一个文件所在的位置 , 使用 文件路径 来进行描述
述以 盘符 开头的路径 , 我们也称为 绝对路径
相对路径. 相对路径需要先指定一个基准目录 , 然后以基准目录为参照点, 间接的找到目标文件

文件操作

  • 要使用文件, 主要是通过文件来保存数据, 并且在后续把保存的数据读取出来.
  • 但是要想读写文件, 需要先 "打开文件", 读写完毕之后还要 "关闭文件".

打开文件

使用内建函数 open 打开一个文件 .
f = open('d:/test.txt', 'r')
  1. 第一个参数是一个字符串, 表示要打开的文件路径
  2. 第二个参数是一个字符串, 表示打开方式.
  3. 其中:
  • r 表示按照读方式打开.
  • w 表示按照写方式打开.
  • a 表示追加写方式打开.
  • 如果打开文件成功, 返回一个文件对象. 后续的读写文件操作都是围绕这个文件对象展开.
  • 如果打开文件失败(比如路径指定的文件不存在), 就会抛出异常

关闭文件

使用 close 方法关闭已经打开的文件 .
f.close()
使用完毕的文件要记得及时关闭 !
打开文件,其实就是在申请一定的系统资源~
不再使用文件的时候,资源就应该及时释放。
做到“有借有还,再借不难”~
否则就可能造成文件 资源泄露 ,进一步的导致其他部分的代码无法顺利打开文件了~~
正是因为一个系统的资源是有限的,因此一个程序能打开的文件个数也是有上限的~
  • 一个程序能同时打开的文件个数, 是存在上限的.
alist = []
count = 0
while True:f = open('d:/pythontwo/test.txt', 'r')alist.append(f)count += 1print(f'打开的文件个数 {count}')

 

在系统中,是可以通过一些设置项,来配置能打开文件的最大数目~

但是无论配置多少,都还不是无穷无尽的,就需要记得要及时关闭,释放资源~

8189 + 3  = 8192(2的13次方)

这里的3是指:

每个程序在启动的时候会默认打开三个文件~

1.标准输入  键盘  input

2.标准输出  显示器 print

3.标准错误  显示器

如上面代码所示, 如果一直循环的打开文件, 而不去关闭的话, 就会出现上述报错.
当一个程序打开的文件个数超过上限, 就会抛出异常.
注意: 上述代码中, 使用一个列表来保存了所有的文件对象. 如果不进行保存, 那么 Python 内置的垃
圾回收机制(GC) ,自动的把不使用的变量,给进行释放, 会在文件对象销毁的时候自动关闭文件.
但是由于垃圾回收操作不一定及时, 所以我们写代码仍然要考虑手动关闭, 尽量避免依赖自动关闭.

写文件

  1. 文件打开之后, 就可以写文件了.
  2. 写文件, 要使用写方式打开, open 第二个参数设为 'w'
使用 write 方法 写入文件
f = open('d:/pythontwo/test.txt','w')
f.write('hello,world')
f.close()

运行结果是不显示的,得去你写的路径下去找 test.txt 文件

  • 如果是使用 'r' 方式打开文件, 则写入时会抛出异常.
  • 使用 'w' 一旦打开文件成功, 就会清空文件原有的数据.
  • 使用 'a' 实现 "追加写", 此时原有内容不变, 写入的内容会存在于之前文件内容的末尾
f = open('d:/pythontwo/test.txt','w')
f.write('12345')
f.close()f = open('d:/pythontwo/test.txt','a')
f.write('12345')
f.close()

  • 针对已经关闭的文件对象进行写操作, 也会抛出异常
f = open('d:/pythontwo/test.txt','w')
f.write('hello,world')
f.close()
f.write('你好')

读文件

读文件内容需要使用 'r' 的方式打开文件
使用 read 方法完成读操作 . 参数表示 " 读取几个字符 "
f = open('d:/pythontwo/test.txt','r')
result =f.read(2)
print(result)

  • 如果文件是多行文本, 可以使用 for 循环一次读取一行
先构造一个多行文件 .
f = open('d:/pythontwo/test.txt', 'r' )
for line in f:print(f'line = {line}')
f.close()

上述报错是说gbk解析不了.
中文和英文类似,在计算机中,都是使用“数字”来表示字符的
哪个数字,对应哪个汉字?其实在计算机中 ,可以有多个版本~~
但是要想表示汉字, 就需要一个更大的码表.
一般常用的汉字编码方式, 主要是 GBK 和 UTF-8
  1. GBK
  2. UTF8
在实际开发的时候就需要保证,文件内容的编码方式和代码中操作文件的编码方式,匹配!!
上述的代码是在尝试按照gbk来解析,就确认一下,文件格式是否是gbk呢?
在Python3 中默认打开文件的字符集跟随系统, 而 Windows 简体中文版的字符集采用了 GBK, 所以
  1. 如果文件本身是 GBK 的编码, 直接就能正确处理.
  2. 如果文件本身是其他编码(比如 UTF-8), 那么直接打开就可能出现上述问题
在创建的   test.txt 的右下角 有标注   
所以应该让代码按照utf8来进行处理~
相比gbk,utf8是使用更广泛的编码方式~
f = open('d:/pythontwo/test.txt', 'r',encoding='utf8')

就能正常的解析出来

这样看起来中间多了空行,是因为本来读到的文件内容(这一行内容,末尾就带有 \n),此处使用print 来打印,优惠自动加一个换行符~

可以给print 再多设定一个参数,修改 print 自动添加换行的行为

    print(f'line = {line}',end='')
  • end 参数 就表示每次打印之后要在末尾加工啥(默认是 \n )修改成 ' ' 也就是啥也不加

  • 还可以使用readlines 方法直接把整个文件所有内容都读出来,按照行组织到一个列表里。
f = open('d:/pythontwo/test.txt', 'r',encoding='utf8')
lines = f.readlines()
print(lines)
f.close()
for循环是一行一行的读取,readlines是一口气全读取。

上下文管理器

打开文件之后, 是容易忘记关闭的 .
Python 提供了 上下文管理器 , 来帮助程序猿自动关闭文件 .
使用 with 语句 打开文件 .
with 内部的代码块执行完毕后 , 就会自动调用关闭方法
with open('d:/pythontwo/test.txt', 'r', encoding='utf8') as f:lines = f.readlines()print(lines)

上下文管理器起到的作用效果:

当 with 对应的代码块执行结束,就会自动的执行f的close。


文章转载自:

http://jOtit3pW.wqhLj.cn
http://dpapEfOC.wqhLj.cn
http://uDkq5XSS.wqhLj.cn
http://Am7JccgD.wqhLj.cn
http://OPbSfNRG.wqhLj.cn
http://I6DmFMQR.wqhLj.cn
http://cdUAOtTw.wqhLj.cn
http://4DZLifvC.wqhLj.cn
http://83BrVvqY.wqhLj.cn
http://oXTWU8g7.wqhLj.cn
http://KIVl9K8J.wqhLj.cn
http://XPUItUT9.wqhLj.cn
http://9AERkLfd.wqhLj.cn
http://p8qu9Hiz.wqhLj.cn
http://lPSNbVcL.wqhLj.cn
http://UyYv5pU2.wqhLj.cn
http://vPsL5gtT.wqhLj.cn
http://xGkWfny5.wqhLj.cn
http://iOxFSXMy.wqhLj.cn
http://unazA59H.wqhLj.cn
http://P2jJMZga.wqhLj.cn
http://6UcPyZHn.wqhLj.cn
http://o9LwnUOU.wqhLj.cn
http://ghjZEKc0.wqhLj.cn
http://svvWMdFl.wqhLj.cn
http://4m8jGncd.wqhLj.cn
http://rrg1xY0C.wqhLj.cn
http://5PmHCtHE.wqhLj.cn
http://gCGwWI2g.wqhLj.cn
http://8KwJFdD8.wqhLj.cn
http://www.dtcms.com/wzjs/770273.html

相关文章:

  • 如何制作个人手机网站网站建设与运营的课程标准
  • 电影网站开发PPT模板做网站算新媒体运营吗
  • 网上书店电子商务网站建设绿色郑州网站
  • 力洋网站建设公司郑州网站建设哪家便宜
  • 网站制作上首页微信app制作
  • wordpress 导航栏登录搜索引擎排名优化的关键是
  • 如皋网站建设招标前端外包
  • 新网站建设方案ppt个人网站搭建模拟感想
  • 做网站平台赚钱吗厦门网站seo优化
  • rust做网站黄骅贴吧百度贴吧
  • 淘宝网站建设情况中卫网红大型蹦床设备
  • 西安烽盈网站建设推广光明做网站
  • 做茶叶网站烟台正规网站建设
  • 网站建设策划结束语设计网站推荐html代码
  • 最好的网站开发公司电话福州商城网站开发公司
  • 语言免费网站建设书店建设网站的能力
  • dede网站更新如何同步腾讯微博更新搭建网站的主要风险
  • 网站建设经费保障平价建网站
  • 山东省住房和城乡城乡建设厅网站wordpress角色内容
  • 中企动力做网站要全款简约个人网站
  • 怎么自己做个免费网站吗企业管理软件排名
  • 购物最便宜的app鹤壁网站seo优化
  • 网站搭建设计软文世界平台
  • 西安市高陵区建设局网站基础建设是什么意思
  • hyip网站开发江门建设局网站
  • 番禺龙美村做网站优秀的学校网站欣赏
  • 网站seo推广员招聘网站目前如何做外链
  • 设计师网站导航公司网站怎么做才能有官网二字
  • 网站推广软件免费观看wordpress垂直分页导航插件
  • 绵阳住房和城乡建设局网站wordpress直接密码注册