黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

自學Python編程的第九天(希望有大牛幫我看看我第一個代碼是否有弊端,感謝您

系統 2219 0

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
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
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
              
                :
        
              
            
            
              if
            
             lst[i]>lst[i+1
            
              ]:
            lst[i],lst[i
            
            +1]=lst[i+1
            
              ],lst[i]
        i
            
            =i+1

            
              print
            
            (lst)
          

?


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論