檔案操作 異常格式 時間操作

2021-10-05 23:35:32 字數 3401 閱讀 3323

import os

import time

import datetime

#檔案操作常用方法如下:

#寫檔案

with open("111.txt", "w") as fp:

fp.write("1111\n")#將字串寫到文件

fp.writelines(["aaa\n","bbb\n"])#將列表寫到文件中

fp.close()

#讀檔案

with open("111.txt", "r+") as fp:

#datas = fp.read() #讀取所有內容,返回字串型別

#dataline = fp.readline() #讀取一行內容,返回str

#datalines = fp.readlines() #讀取所有內容,返回list,每行就是列表中的值

os.getcwd()

fp.close()

print(os.getcwd())

#"r+"中的寫,是在原來的基礎上加資訊,需要檔案存在,不然報錯

#"w+"中的寫,檔案存在直接覆蓋原來的資訊,檔案不存在,則建立檔案

#"a"開啟乙個檔案用於追加,"a+"使用者讀寫,檔案存在,則追加在原內容後面,檔案不存在,則建立檔案

with open("re_test.txt", "a", encoding = "utf-8-sig") as fp:

fp.write("asdf1243\nzxcv6789")

fp.flush() #寫完後需要重新整理,資料才被寫到文字中

fp.seek(0) #0:將游標定位到開始處,1:將游標定位到當前處,2:將游標定位到結尾處

datas = fp.readlines()

print(datas)

os.getcwd() #獲取當前目錄

os.rename("222.txt", "111.txt") #檔案重新命名

os.remove("222.txt") #刪除檔案

os.mkdir("test") #建立資料夾

os.rmdir("test") #刪除資料夾

os.makedirs("aa/bb") #建立aa資料夾及子資料夾bb

os.removedirs("aa/bb") #刪除aa資料夾及子資料夾bb

os.sep #可以取代作業系統特定的路徑分割符,相當於「\」

os.chdir(os.getcwd() + os.sep + "test")#進入路徑

os.listdir(os.getcwd()) #返回目錄下的檔案,返回列表型別

os.path.isfile("111.txt") #判斷當前路徑下"111.txt"是否是檔案

os.path.isdir("test") #判斷當前路徑下"test"是否是資料夾

os.path.exists("test") #判斷當前路徑下是否有「test」資料夾或者檔案

os.path.getsize("111.txt")#獲取檔案大小

os.path.abspath("111.txt")#獲取檔案的絕對路徑

os.path.basename(os.path.abspath("111.txt"))#獲取檔案的檔名,注意引數需要傳入絕對路徑

os.path.dirname(os.path.abspath("111.txt"))#獲取檔案的所在目錄,注意引數需要傳入絕對路徑

2. try_except_else_finally

#python異常處理

''' try:

執行**

except:

異常出現時,執行**部分

else:

沒有異常時,執行**部分

finally:

不管有沒有異常,一定執行

'''with open("111.txt","r") as fp:

try:

fp.write("111\n")

except:

print("有異常")

else:

print("沒有異常,成功")

finally:

print("finally:關閉檔案")

fp.close()

#time相關操作

a = time.time() #返回時間戳

tupletime = time.localtime() #返回時間元組,引數是時間戳,加引數就是返回引數時間戳的時間元組,不加引數返回當前時間戳

time.mktime(tupletime) #返回時間戳,將傳入的時間元組轉成時間戳

#time.strftime(fmt[,tupletime]),傳入引數為時間元組,並返回以可讀字串表示的當地時間,格式由fmt決定

time.strftime("%y-%m-%d-%h-%m-%s", tupletime)

#time.strptime(str,fmt) 傳入引數為時間字串,根據fmt的格式把乙個時間字串解析為時間元組

time.strptime("2020-09-01","%y-%m-%d")

#列印兩個時間之前的日期

def stattime(starttime, endtime):

time_list =

#將時間字串轉成元組

stattime_tup = time.strptime(starttime, "%y-%m-%d")

endtime_tup = time.strptime(endtime, "%y-%m-%d")

#將時間元組轉成時戳

stattime_float = time.mktime(stattime_tup)

endtime_float = time.mktime(endtime_tup)

#資料操作

while stattime_float < endtime_float:

#轉成時間元組

time_tup = time.localtime(stattime_float)

#轉成日期格式

temp = time.strftime("%y-%m-%d", time_tup)

stattime_float = stattime_float + 3600*24

return time_list

datas = stattime("2020-01-01","2020-05-01")

for date in datas:

weekdate_tup = datetime.datetime.strptime(date,"%y-%m-%d")

weekdate = weekdate_tup.strftime("%w")#十進位制表示的星期幾(值從0到6,星期天為0

print("%s 星期%s"%(date, int(weekdate)+1))

python檔案操作和異常

python檔案的操作和異常 toc 這兩個月複習考研的同時,在github上斷斷續續的跟著駱先生 jackfrued 在我關注裡有 學習了一段時間的python,由於是自學所以經常會遇到一些容易卡死的問題,這篇文章我就簡單的分享一下在檔案及檔案異常我遇到的問題。函式語法 open file uni...

python 異常與檔案操作

異常就是程式在執行過程中所出現的錯誤,一旦出現異常,將會導致程式立即終止執行。try 必須有 塊except 可以有多個,但是只會執行一次 塊 出錯後才會執行的語句 else 有沒有無所謂 塊 沒有出錯要執行的語句 finally 與except至少有乙個 塊 無論是否出錯,都會執行 deffn p...

golang 的時間格式化操作

time.now format 2006 01 02 15 04 05 你將會獲得如同yyyy mm dd hh mm ss這樣的輸出。在 format.go 的原始碼中我們可以找到一些預定的格式,原始碼摘抄如下 const ansic mon jan 2 15 04 05 2006 unixdat...