python的file,time的一些知識點

2021-09-03 01:48:39 字數 4006 閱讀 5259

1,open 和 with open的區別

open是手動開啟,不需要的就需要關閉,不關閉可能會發現未知的錯誤

with open是自動開啟,不需要的python會自動關閉

2,遍歷文字資料

files = open('python.txt','r',encoding='utf-8')

for line in files :

print(line)

files.close()`

這樣相對來說沒有那麼占用資源,比read 或者readlines一次性讀取 沒那麼占用資源

但是 read 和readlines在整體可能處理速度要快,因為for需要多次讀取資料

files = open('python.txt','r',encoding='utf-8')

content = files.readlines()

for line in content :

print(line)

files.close()

3,seek 函式,指標偏移量

file.seek(0) 的作用是可以實現反覆讀取資料,而不需要反覆開啟關閉檔案 ,這是乙個很好的技巧

4,os 中資料夾的操作

os.getcwd() #當前目錄

os.listdir() #列印當前資料夾內的檔案

os.listdir(「f:\」) #列印指定資料夾內的檔案

#判斷是否是乙個檔案

os.path.isfile("f\\pt.txt")

os.path.exists("f:\\")

os.rename("","")

吧目錄路徑和檔名分開

os.remove("f:\\tete.txt")

#建立資料夾

os.mkdir("f:\\package")

os.mkdirs("")

os.path.split("f:\\tt.txt")

# 檢視檔名

# def basename(p):

# """returns the final component of a pathname"""

# return split(p)[1]

# print(os.path.basename(path)) #注意 如果檔案 為 "d:/nihao/nihao" 那麼他輸出的是 nihao

# print(os.path.dirname(path))

# "d:/nihao/tmp.txt" 或者 實現 "d:/nihao" 型別的建立

path = "d:/nihao/tmp.txt"

tuple_1 = os.path.split(path)

print(tuple_1)

if "." in tuple_1[1]:

os.makedirs(tuple_1[0])

fo = open(path,"w")

fo.close()

else:

os.makedirs(path)

#檔案的遍歷

def file_path(file_dir):

for root, dirs, files in os.walk(file_dir):

print(root, end=' ') # 當前目錄路徑,,注意 這裡的end = ' '表示print輸出的時候不換行

print(dirs, end=' ') # 當前路徑下的所有子目錄

print(files) # 當前目錄下的所有非目錄子檔案

file_path("d:\plsql")

#獲取乙個資料夾下面所有的檔案的路徑

def find_file(filepath):

files = os.listdir(filepath)

for fi in files:

# 在這裡join的目的是吧父路徑新增進去

fi_d = os.path.join(filepath,fi)

if os.path.isdir(fi_d):

find_file(fi_d)

else:

print(os.path.join(filepath,fi_d))

find_file("d:\plsql\datagenerator")

3 time模組的用法

time.altzone 返回格林時間

time.asctime() 獲得時間元組 可以給他提供乙個引數

time.clock() windows 和linux不一樣

常用time.ctime() 獲取當前時間

常用time.time() 獲取時間戳,從2023年到現在的秒數

time.gmtime() 返回乙個時間元組 返回的事格林威治的時間元祖

常用time.localtime()

#時間戳轉換成時間元祖,將時間元祖轉換成時間字串

times = time.time()

tmp = time.localtime(times)

localtime返回乙個時間元組:

索引 字段 值

0 4位數, 表示年份 2018,2019…

1 月份 1 ~ 12

2 日期 1 ~ 31

3 小時 0 ~ 23

4 分鐘 0 ~ 59

5 秒 0 ~ 61(60或61是閏秒)

6 星期幾 0 ~ 6(0是星期一)

7 一年的第幾天 1 ~ 366(朱利安日)

8 夏令時 -1,0,1,-1表示庫確定dst

#吧時間字串轉換成時間元祖

times = "2017-12-25 12:12:12"

tmp = time.strptime(times,'%y-%m-%d %h:%m:%s')

print(tmp)

#把時間元祖轉換成時間戳

time.mktime(tmp)

time.sleep(5)#時間睡眠5秒

練習題目:獲得三天前的時間

threago = time.time() - 60*60*24*3

print(time.localtime(threago))

#---------------------------切換時間格式 --------------------------

t = "2017-11-24 17:30:00"

#先轉換為時間陣列,然後轉換為其他格式

timestruct = time.strptime(t, "%y-%m-%d %h:%m:%s")

strtime = time.strftime("%y/%m/%d %h:%m:%s", timestruct)

print(strtime)

----------------利用datetime來獲取時間

import datetime 

i = datetime.datetime.now()

print ("當前的日期和時間是 %s" % i)

print ("iso格式的日期和時間是 %s" % i.isoformat() )

print ("當前的年份是 %s" %i.year)

print ("當前的月份是 %s" %i.month)

print ("當前的日期是 %s" %i.day)

print ("dd/mm/yyyy 格式是 %s/%s/%s" % (i.day, i.month, i.year) )

print ("當前小時是 %s" %i.hour)

print ("當前分鐘是 %s" %i.minute)

print ("當前秒是 %s" %i.second)

如何在C 中將filetime時間轉化為字串?

先將filetime轉化為systemtime 再 注釋1 對於systemtime的顯示也可以使用mfc中的cstring型別 systemtime st cstring strdate,strtime getlocaltime st strdate.format 4d 2d 2d st.wyea...

python的包 python的包

1.把解決一類問題的模組放在同乙個資料夾裡,這個資料夾就是包 2.通過import或是from.import匯入時必須遵循乙個原則 a 凡是在匯入時帶點的,點的左邊都必須是乙個包,否則非法 b 匯入後,使用時點的左邊可以是包,模組,類,函式 它們都可以用點的方式調節用自己的屬性 c from.imp...

python的語句 Python的語句

python中的兩種語句 1 if條件控制語句 格式 if a int input 請輸入第乙個數 b int input 請輸入第二個數 if a b print a比b小 if else a int input 請輸入第乙個數 b int input 請輸入第二個數 if a b print a...