日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

5.07—018—周二

發布時間:2023/11/30 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 5.07—018—周二 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今日所學內容

    一、模塊

    二、遞歸刪除的思路

    三、案例:跨文件夾移動文件

    四、案例 遞歸遍歷打印目標路徑中所有的txt文件

    五、項目開放周期

一、模塊

1、與時間相關的模塊

  1)time :時間

  時間戳(timestamp):time.time()
  延遲線程的運行:time.sleep(secs)
    (指定時間戳下的)當前時區時間:time.localtime([secs])
    (指定時間戳下的)格林威治時間:time.gmtime([secs])
    (指定時間元組下的)格式化時間:time.strftime(fmt[,tupletime])

    %y 兩位數的年份表示(00-99)    %Y 四位數的年份表示(000-9999)
    %m 月份(01-12)          %d 月內中的一天(0-31)
    %H 24小時制小時數(0-23)     %I 12小時制小時數(01-12)
    %M 分鐘數(00=59)         %S 秒(00-59)
    %a 本地簡化星期名稱        %A 本地完整星期名稱
    %b 本地簡化的月份名稱       %B 本地完整的月份名稱
    %c 本地相應的日期表示和時間表示  %j 年內的一天(001-366)
    %p 本地A.M.或P.M.的等價符     %U 一年中的星期數(00-53)星期天為星期的開始
    %w 星期(0-6),星期天為星期的開始
    %W 一年中的星期數(00-53)星期一為星期的開始
    %x 本地相應的日期表示       %X 本地相應的時間表示
    %Z 當前時區的名稱         %% %號本身

  2)canendar : 日歷

    判斷閏年:calendar.isleap(year)

    查看某年某月日歷:calendar.month(year, mouth)

    查看某年某月起始星期與當月天數:calendar.monthrange(year, mouth)

    查看某年某月某日是星期幾:calendar.weekday(year, month, day)

  3)datatime : 可以運算的時間

    當前時間:datetime.datetime.now()

    昨天:datetime.datetime.now() + datetime.timedelta(days=-1)

    修改時間:datatime_obj.replace([...])

    格式化時間戳:datetime.date.fromtimestamp(timestamp)

2、sys : 系統

  命令行參數List,第一個元素是程序本身路徑:sys.argv

  退出程序,exit(0):正常退出時 sys.exit(n)

       exit(1): 非正常退出

       404 : 路徑有問題

  獲取Python解釋程序的版本信息:sys.version

  最大int值:sys.maxsize | sys.maxint

  環境變量:sys.path

  操作系統平臺名稱:sys.platform

3、OS : 操作系統

  生成單級目錄:  os.mkdir('dirname')
  生成多層目錄:  os.makedirs('dirname1/.../dirnamen2')
  重命名:  os.rename("oldname","newname")
  工作目錄:  os.getcwd()
  刪除單層空目錄:  os.rmdir('dirname')
  移除多層空目錄:  os.removedirs('dirname1/.../dirnamen')
  列舉目錄下所有資源:  os.listdir('dirname')
  路徑分隔符:  os.sep
  行終止符:  os.linesep
  文件分隔符:  os.pathsep
  操作系統名:  os.name
  操作系統環境變量:  os.environ
  執行shell腳本:  os.system()

4、os.path(ntpath) : 系統路徑操作

  執行文件的當前路徑:  __file__
  返回path規范化的絕對路徑:  os.path.abspath(path) ?
  將path分割成目錄和文件名二元組返回:  os.path.split(path)? 把目錄最后一個拆開返回
  獲取上一級目錄:  os.path.dirname(path)
  最后一級名稱:  os.path.basename(path)
  指定路徑是否存在:  os.path.exists(path)
  是否是絕對路徑:  os.path.isabs(path)
  是否是文件:  os.path.isfile(path)
  是否是路徑:  os.path.isdir(path)
  路徑拼接:  os.path.join(path1[, path2[, ...]])

  最后存取時間:  os.path.getatime(path)
  最后修改時間:  os.path.getmtime(path)
  目標大小:  os.path.getsize(path)

normcase函數
  在Linux和Mac平臺上,該函數會原樣返回path,

  在windows平臺上會將路徑中所有大寫字符轉換為小寫,并將所有斜杠轉換為反斜杠。

    >>> os.path.normcase('c:/windows\\system32\\')??

      'c:\\windows\\system32\\'

normpath函數
  規范化路徑,如 .. 和 /

    >>> os.path.normpath('c://windows\\System32\\../Temp/')??

      'c:\\windows\\Temp'? 不轉換大小寫會轉換 /?? 但是 .. 會消除它前一個路徑

    >>> a='/Users/jieli/test1/\\\a1/\\\\aa.py/../..'
    >>> print(os.path.normpath(a))
     /Users/jieli/test1

5、random

(0, 1):random.random(n)    # 0~1 以內的 n 個小數,不包括0和1

random.randint(1, 10)    [1, 10] 整數

random.randrange(1, 10)     [1, 10)/[1, 9] 整數

random.uniform(1, 10)    (1, 10) 內的小數

單例集合隨機選擇1個:random.choice(item)
單例集合隨機選擇n個:random.sample(item, n)
洗牌/打亂 單列集合:random.shuffle(item)

?

二、遞歸刪除的思路

?

def delete_dir(folder):
??? for path in os.listdir(folder):
??????? # 如果path是文件夾 delete_dir(path)
??????? # 如果是文件os.remove(path)
??????? pass
??? # for走完了代表folder內部刪空了,可以刪folder

?

三、案例:跨文件夾移動文件

import os
import sys
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
sys.path.append(BASE_DIR)

def move_file(file, folder):
??? if not (os.path.exists(file) and os.path.isfile(file)):
??????? print('文件不存在或非法')
??????? return False
??? if not os.path.exists(folder):
??????? os.makedirs(folder)
??? file_name = os.path.split(file)[1]
??? # file_name = os.path.basename(file)
??? new_file = os.path.join(folder, file_name)

??? with open(file, 'rb') as rf, open(new_file, 'wb') as wf:
??????? for line in rf:
??????????? wf.write(line)
??? os.remove(file)
# 將目標文件夾下的目標文件移動到指定文件夾下
file = os.path.join(BASE_DIR, 'part5', 'mm.py')
folder = os.path.join(BASE_DIR, 'part6', 'abc')
move_file(file, folder)

四、案例 遞歸遍歷打印目標路徑中所有的txt文件

import os
import sys
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
sys.path.append(BASE_DIR)

def print_txt(folder):
??? if not os.path.exists(folder) or os.path.isfile(folder):
??????? return
??? for path in os.listdir(folder):
??????? file_path = os.path.join(folder, path)
??????? if os.path.isfile(file_path) and file_path.endswith('.txt'):
??????????? print(path)
??????? elif os.path.isdir(file_path):
??????????? print_txt(file_path)?       # 遞歸


target_path = os.path.join(BASE_DIR, 'part6', 'target')
print_txt(target_path)

五、項目開放周期


1.調研
2.需求分析
3.架構師完成項目demo,完成項目架構
4.分工
5.寫代碼
6.白盒黑盒測試
7.項目審核發布 => 項目 -> 產品

bin: 可執行文件,入口,入口也可以放在項目根目錄下
core: 核心代碼
db:數據庫相關文件
interface:接口
lib:包、模塊、第三方文件夾
log:日志
setting:配置
static:靜態文件

?

轉載于:https://www.cnblogs.com/Chinesehan/p/10827436.html

總結

以上是生活随笔為你收集整理的5.07—018—周二的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。