2019-09-19-22:11:33

今天是自学Python的第九天

学的内容是有关文件操作的,如:r、w、a、rb、wb、ab、r+、w+、a+等

有大牛帮我看一下我的代码第一个有没有什么弊端吗?我感觉好像没有,但是看视频时,说不建议这样做

一.重要知识点
文件操作:
1. r
读取完的文件句柄⼀定要关闭.f.close()
2. w
写的时候注意.如果没有文件.则会创建文件,如果文件存在.则将原件中原来的内容删除,再写入新内容
写入是从光标处开始写入
3. a
此模式下,写入的内容会追加到文件末尾
4. r+
读写模式.必须先读后写
需要移动光标进行反复读写
注意:在r+模式下.如果读取了内容.不论读取内容多少.光标显示的是多少.
再写入或者操作文件的时候都是在结尾进行的操作.
5. w+(很少用)
6. a+(此模式下不管是先读还是后读都无法读取内容)
7. b bytes 读写操作的是字节. 用在非文本上
8. seek() 移动光标到xx位置,移动的单位是byte
开头: seek(0), 末尾: seek(0,2)
9. 文件修改
创建新文件. 把修改后的内容写入新文件. 删除老文件. 重命名新文件
import os
os.remove("")删除文件
os.rename("源文件", "新文件名") 重命名文件 for line in f:
line 一行数据 with open("文件名") as f:
不需要关闭文件句柄,会自动关闭 二.错误总结
1.for循环和while循环嵌套问题
lst=[5,2,8,11,9,10,21,3,13]
i=0
while i<len(lst):
for el in range(len(lst)-1):
if lst[el]>lst[el+1]:
lst[el],lst[el+1]=lst[el+1],lst[el]
i=i+1
print(lst)
#上面代码是自己敲的,好像没错,但是看视频说下面的方法比较适合,有点不懂.因为我觉得下面的代码我容易忘把i=0放进for循环下
lst=[5,2,8,11,9,10,21,3,13]
i=0 #没考虑到要把i=0放进for循环中去
for el in range(len(lst)):
while i<len(lst)-1:
if lst[i]>lst[i+1]:
lst[i],lst[i+1]=lst[i+1],lst[i]
i=i+1
print(lst)
#不同循环还是没有考虑到嵌套之间的关系
解决方法:要再了解不同循环的用法,然后总结它们之间的联系.

lst=[5,2,8,11,9,10,21,3,13]
i=0
while i<len(lst):
for el in range(len(lst)-1):
if lst[el]>lst[el+1]:
lst[el],lst[el+1]=lst[el+1],lst[el]
i=i+1
print(lst) lst=[5,2,8,11,9,10,21,3,13]
for el in range(len(lst)):
i=0
while i<len(lst)-1:
if lst[i]>lst[i+1]:
lst[i],lst[i+1]=lst[i+1],lst[i]
i=i+1
print(lst)

自学Python编程的第九天(希望有大牛帮我看看我第一个代码是否有弊端,感谢您们)----------来自苦逼的转行人的更多相关文章

  1. 自学Python编程的第十天(希望有IT大牛看见的指点小弟我,万分感谢)---------来自苦逼的转行人

    2019-09-20-23:24:15 今天逛论坛.逛知识星球时.逛b站up主时,都说到低学历,非科班的人最好不要去自学Python 他们都说:如果我们学python是为了找工作,最好不要把pytho ...

  2. 自学Python编程的第五天(希望有IT大牛帮我看最下面的代码)----------来自苦逼的转行人

    2019-09-15-15:40:24 今天没有学知识,是一个一周总结,把这一周学的知识总结一遍,然后把做过的练习题再做一遍 看是否还会有再出现同样的错误,而且还可以知道有哪些知识点没有掌握好,可以把 ...

  3. 自学Python编程的第六天(最后代码有更好的请告诉我)----------来自苦逼的转行人

    2019-09-16-23:09:06 自学Python的第六天,也是写博客的第六天 今天学的内容是有关dict字典的用法 看视频加上练习,目前还没遇到有难点,但是感觉很不好的样子 没有难点以后突然出 ...

  4. 自学Python编程的第二天----------来自苦逼的转行人

    今天是2019.9.11号22:51分 这是我自学Python的第二天,也是我写博客的第二天,还是不知道怎样写博客的第二天,有点懵 今天学Python还是一样的懵,错误还是有很多,而且脑中也不够灵活, ...

  5. 自学Python编程的第一天----------来自苦逼的转行人

    学习Python的第一天,也是我第一次写博客的一天,不怎么会写博客,也不怎么会Python,也不怎么会写总结.在学Python的第一天发现自己脑子不是很好用,在学习过程中出现很多错误,错误锦集如下,哈 ...

  6. 自学Python编程的第十一天----------来自苦逼的转行人

    2019-09-21-23:00:26 今天看了很多博客网的博客,看完觉得自己的博客真的是垃圾中的垃圾 新手不知道怎样写博客,我也很想写好一篇能让人看的博客,但是目前水平不够 只能慢慢改,今天的博客还 ...

  7. 自学Python编程的第\七天----------来自苦逼的转行人

    2019-09-17-23:09:48 今天学的内容是有关小数据池的,学的有点懵逼,感觉越来越难学了,但是得坚持下去 明天学习下一个课程时,感觉要跟不上,看来明天得先看好几遍今天的内容 不然肯定会听的 ...

  8. 自学Python编程的第四天----------来自苦逼的转行人

    2019-09-14 21:15:24 今天是学习Python的第四天,也是写博客的第四天 今天的内容是有关'列表'.'元组'.'range'的用法 列表:增删改查.列表的嵌套 元组:元组的嵌套 ra ...

  9. 自学Python编程的第三天----------来自苦逼的转行人

    2019-09-14 11:09:50 学Python的第三天和写博客的第三天 本来第三天的内容前天就应该发的,但是因为有点难度,用了两天的时间去学习,按道也是昨天发, 因为中秋导致今天早上发,第三天 ...

随机推荐

  1. 关于RSA汇总

    写在前面 安全测试需要, 后台数据需要签名, 前台验签, 于是有了这篇hao123. 正文 jsrsasign https://github.com/kjur/jsrsasign jsrsasign使 ...

  2. H3C交换机如何删除VLAN

    H3C交换机如何删除VLAN,如果直接使用“undo vlan”是删不干净的,因为配置VLAN时还配置过接口. 1.首先通过console口或telnet连接三层交换机,进入用户视图模式”<H3 ...

  3. cookie 设置报错 setcookie() expects parameter 3 to be integer, float given in...

    使用 setcookie 函数设置 cookie 报错,报错信息为: setcookie() expects parameter to be integer, float given in... 错误 ...

  4. 全新思维导图 XMind ZEN v10.0.0 中文破解版

    http://www.carrotchou.blog/20331.html 官网 https://www.xmind.cn/ 注意事项 破解版本已经去除了全部的官方试用版的限制,让大家可以像正版用户一 ...

  5. Oracle系列十三 视图

    视图 :从表中抽出的逻辑上相关的数据集合. 视图是一种虚表. 视图建立在已有表的基础上, 视图赖以建立的这些表称为基表. 向视图提供数据内容的语句为 SELECT 语句, 可以将视图理解为存储起来的 ...

  6. Spark SQL里concat_ws和collect_set的作用

    concat_ws: 用指定的字符连接字符串 例如: 连接字符串: concat_ws("_", field1, field2),输出结果将会是:“field1_field2”. ...

  7. eslint配置大全

    https://segmentfault.com/a/1190000014230857 https://www.jianshu.com/p/23a5d6194a4b VSCODE更新后,格式化会加分号 ...

  8. .netcore里使用StackExchange.Redis TimeOut 情况解决方法

    在用StackExchange.Redis这个组件时候,时不时会出现异常TimeOut解决方法如下, 解决方法: 在Program的Main入口方法里添加一句话: System.Threading.T ...

  9. docker 启动mysql 闪退 无法启动问题

    docker 安装mysql [获取容器] docker pull mysql:5.6 [启动容器] docker run -p 3306:3306 --name mymysql -v $PWD/co ...

  10. MSSQL中 float转换为varchar 变成科学计数法解决方案

    在系统初始化的时候,没有在数值型的数据前面加上 单引号,导致进入数据库后都变成float型我们需要做以下转换就能将数据变为 varchar类型 declare @a float //定义一个float ...