1. 程式人生 > >python檔案操作以及迴圈小結

python檔案操作以及迴圈小結

Python中的檔案使用建議使用

with open(filename, "r") as f: 的形式進行檔案操作,如果忘記關閉檔案指標的話,他會幫你自己關閉檔案,

如果使用原來的方式 f = open(filename, "w") 開啟檔案,在程式終止的時候,Python雖然說會幫你自動關閉所有檔案物件,但是對於 w 模式開啟的檔案,若不明確關閉,再次開啟就會發生錯誤 

開啟的幾種模式:

  1.   r (用於從檔案讀取資料)
  2.   w(用於向檔案寫入資料)
  3.   a (用於向檔案追加新內容)

python對於檔案的讀寫很方便,但是對於檔案的格式化讀取有點困難,一般是將檔案物件放入迴圈,進行一行一行的資料進行讀取,讀取出來的字串使用 strip() 去掉兩端多餘的空格,使用 split() 進行分割存入列表中,(PS:此時列表中的元素全部是字串,如果是數字的話,請轉化為數字之後,在進行操作),

在向檔案中寫資料也是同樣的道理,只可以寫入字串型別的資料,所以需要將數值型別的數字轉化為字串在進行資料的寫入。

出題的時候,在使用 for i in range(2) 進行迴圈操作的時候,發現在 Python 的 for 迴圈中,沒有辦法改變迴圈變數;使用 while 迴圈即可。

for 迴圈和 while 是可以相互進行轉化的。而在 Python 中刪掉了do {} while 迴圈,只存在 for 迴圈和 while 迴圈。對於 for 迴圈和 while 迴圈來說,比 C/C++ 又強大了一些,可以在 while 迴圈和 for 迴圈後面新增 else語句,當迴圈正常結束的時候,則執行此語句,如果迴圈不正常結束,比如使用 break 強制跳出迴圈,則不會觸發 else 語句。

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:Ice_image

age_of_ice = 32

count = 0
for i in range(3):
guess_age = int(input("Guess age:"))
if guess_age == age_of_ice:
print("yes, you got it.")
break
elif guess_age > age_of_ice:
print("think smaller...")
else:
print("think bigger!")
count += 1
else:
'''
for迴圈正常結束才會執行
'''
print("you have tried too many times..fuck off")