import os
import datetime
import logging
import paramiko
import tarfile
import gzip
# filename:設定日誌輸出檔案,以天為單位輸出到不同的日誌檔案,以免單個日誌檔案日誌資訊過多,
# 日誌檔案如果不存在則會自動建立,但前面的路徑如log資料夾必須存在,否則會報錯
basepath = os.getcwd()
log_file = 'sys_%s.log' % datetime.datetime.strftime(datetime.datetime.now(), '%y-%m-%d')
log_file = os.path.join(basepath,"log",log_file)
if os.path.exists(log_file):
os.remove(log_file)
if not os.path.exists(os.path.dirname(log_file)):
os.mkdir(os.path.dirname(log_file))
# level:設定日誌輸出的最低級別,即低於此級別的日誌都不會輸出
# 在平時開發測試的時候可以設定成logging.debug以便定位問題,但正式上線後建議設定為logging.warning,既可以降低系統i/o的負荷,也可以避免輸出過多的無用日誌資訊
log_level = logging.info
# format:設定日誌的字串輸出格式
log_format = '%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s'
logging.basicconfig(filename=log_file, level=logging.warning, format=log_format)
logger = logging.getlogger()
logger.setlevel(log_level)
# 遍歷資料夾
def walkfile(file):
for root, dirs, files in os.walk(file):
# root 表示當前正在訪問的資料夾路徑
# dirs 表示該資料夾下的子目錄名list
# files 表示該資料夾下的檔案list
# 遍歷檔案
for f in files:
filepath = os.path.join(root, f)
print(filepath)
if filepath.endswith(".tar.gz"):
untar(filepath)
def untar(filepath):
# 解壓
with tarfile.open(filepath, 'r:*') as tar:
tar.extractall(path=os.path.dirname(filepath)) # 可設定解壓位址
logger.info("{} 解壓完成")
if __name__ == "__main__":
logger.info("-----------------執行開始--------------------------->")
filepath = input("請輸入要解壓檔案目錄:")
walkfile(filepath)
logger.info("<-----------------執行結束---------------------------")
print("解壓結束")
input("按enter結束")
Python 自動化 解壓縮
import subprocess import zipfile as zf import platform as pf import os class zipobj def init self,filepathname,passwd,tip path self.filepathname filep...
Lightroom壓縮包解壓報錯
最近開始學習攝影,需要安裝lightroom,之前的ps和ae都是通過adobe creative cloud直接安裝,然後通過genp工具處理一下就好,但是目前genp並不能處理新版的lightroom,所以就在網上找了乙個安裝包。既然這樣,那就把它們再強行合成乙個檔案就好了,matlab啟動 c...
Linux常見壓縮包解壓縮
對於.tar結尾的檔案 tar xf all.tar對於.gz結尾的檔案 gzip d all.gz gunzip all.gz對於.tgz或.tar.gz結尾的檔案 tar xzf all.tar.gz tar xzf all.tgz對於.bz2結尾的檔案 bzip2 d all.bz2 bunz...