40823131 cd2021

  • Home
    • Site Map
    • reveal
    • blog
  • about
  • Stage1
    • W1
      • 建立網頁
      • Blog建立
    • W2
      • 分組(二人專案小組)
      • 利用Hamachi建立虛擬區域網路
      • 利用虛擬主機建立Ethercalc伺服器
    • W3
      • 初代機(version 1.0.0) ฅ^•ω•^ฅ
      • 貳代機(version 2.0.0) ^ↀᴥↀ^
      • 参代機(version 3.0.0) ଲ(^ⓛ ω ⓛ^)ଲ
      • 肆代機(version 4.0.0) V(=^・ω・^=)v
    • W4
      • 利用程式方法更改影片檔名
  • Stage2
    • W5
      • 分組組員
    • W6
      • Heroku小組網站
      • 運輸小車繪製
    • W7
      • push more easily
      • 程式控制
    • W8
      • 使用鍵盤程式控制小車移動
    • W9
      • 成果(自動化生產線速率程式控制小車ver.)
      • 成果(自動化生產線鍵盤程式控制小車ver.)
      • 心得
  • Stage3
    • W10
      • task1
      • task2-1
    • W11
      • task2-2
    • W12
      • 直播教學影片
    • W13
      • task3-About OBS setting videos
      • Use aegisub to edit and generate subtitles
    • Final專案進度
  • W14
    • 使用QT based GUI介面改寫 legacy GUI介面
    • 改用 CoppeliaSim 制式的 Lua Script 編寫與原先取放方塊零件相同的操控流程
  • Basic teaching
    • Create SSH KEY
    • Setting up putty for ssh
    • Use Leo Editor to create a web blog
    • Android phone camera instead of webcam teaching
  • W15
  • W16
  • Github帳號解除Flagged過程分享
  • Python grammar sort out
W4 << Previous Next >> Stage2

利用程式方法更改影片檔名

使用python程式編寫進而達到更改影片名稱的效果,藉由最後修改時間做為線索來判斷組別,依此線索先利用程式取得各檔案最後修改時間,將取得的時間加入檔名前端進行排序,最後再進行檔名修整,修整為所要的格式。 1.取得最後修改時間,將時間加入檔頭後,放入串列。 2.使用串列排序,排列後更名(階段性更名,此步驟重點為順序)。 3.更改為最終需要的檔名格式。

程式碼如下。

import os
#sorted:排序。
def renameFilesAndSortedByTime(dirPath):
    #建立空串列。
    newlist = []
    #獲取檔名列表。
    files = os.listdir(dirPath)
    #獲取新增修改時間的檔名列表。
    for j in files:
        #獲取從1970年1月1日上午12時00分到檔案最後修改的UTC時間總共經過多少秒。
        createTime = os.path.getmtime(dirPath + j)
        # 將createTime中取得的秒數加入文件名稱前方,並加入串列以利排序。
        newlist.append(str(int(createTime)) + "-" + j)

    # 將串列進行排序
    newlist = sorted(newlist)
    #印出串列
    print(newlist)
    # range()內的數字經由len(newlist)決定
    #len()主要用來傳回串列參數L的長度,也就是包含幾個元素。
    for i in range(len(newlist)):
        #newlist[i][11:]
        #[i]的意思為串列中的第i項。
        #[11:]是用來取得檔案名稱從第12字元開始到最後字元的檔名。
        #使用上述兩個方法再配合迴圈可取得串列內所有檔案的舊檔名。
        oldName = newlist[i][11:]

        # 將秒數部分修改為序號,得到新的文件名。
        # 一定要按照下列寫法否則後期排序更名會出現錯誤。
        newName = newlist[i][11:]
        if (i + 1) < 10:
            newName = '00' + str(i + 1) + newName
        elif (i + 1) > 9 and (i + 1) < 100:
            newName = '0' + str(i + 1) + newName
        else:
            newName = str(i + 1) + newName
        # dirpath為目標文件資料夾。
        # 重命名文件照修改時間加序号在前方。
        os.rename(dirPath + oldName, dirPath + newName)

if __name__ == '__main__':
    renameFilesAndSortedByTime("C:/Users/Administrator/Downloads/2021-03_2a_stage1/")
    print("rename ok!")
    path = 'C:/Users/Administrator/Downloads/2021-03_2a_stage1/'
    #轉入目標文件夾。
    file=os.listdir(path)
    print(file) #印出讀取到的檔名稱。
    n=0 #設定初始值。
    for i in file: #因為資料夾裡面的檔案都要重新更換名稱。
        oldname=path+file[n] #path為路徑名稱,[n]表示第n個檔案。
        newname=path+'cd2021_2a_'+str(n+1)+'.mp4' 
        os.rename(oldname,newname)
        print(oldname+'>'+newname) 
        n=n+1 

    

youtube:


W4 << Previous Next >> Stage2

Copyright © All rights reserved | This template is made with by Colorlib