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


    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)
  • 相关阅读:
    缩水版遗传算法 学习笔记
    算法导论 二项堆
    Linux系统编程(6)——文件系统
    Linux系统编程(5)——文件与IO之mmap函数
    Linux系统编程(4)——文件与IO之ioctl函数
    Linux系统编程(3)——文件与IO之fcntl函数
    Linux系统编程(2)——文件与IO之系统调用与文件IO操作
    Linux系统编程(1)——文件与I/O之C标准I/O函数与系统调用I/O
    C语言的本质(38)——makefile之变量
    C语言的本质(37)——makefile之隐含规则和模式规则
  • 原文地址:https://www.cnblogs.com/hpcz190911/p/11553003.html
Copyright © 2020-2023  润新知