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...