Python3批次改檔名

更新於 發佈於 閱讀時間約 3 分鐘

來了個有點複雜沒辦法用batch檔來處理的批次檔名變更需求

用 labview大概十幾分鐘可以弄出來, 但執行檔實在太大

所以改用python處理看看

IN和T是我們用來紀錄測試通道和測試次數

新舊命名規則對於IN和T的起點定義剛好相反,使用的碼數也不一致

必須從原始檔名分別把兩個字串抽取出來做運算變更

另外還必須額外插入測試站辨別碼

主要是用os.rename()來進行改檔名

為了減少程式運作時輸入東西太多,所以直接把程式和改名檔案放一起

就可以用os.getcwd()取得作業目錄

 

#!/usr/bin/env python
#-*- coding: utf-8 -*-
import os

files = os.listdir(os.getcwd()) #目前執行檔路徑

stg = input("1 for ATS1 2 for ATS3:") #輸入stage編號
stg_ind = "-T"+(str(stg).zfill(2))

n=0
for i in files:
oldname=files[n] #資料夾中檔名的list
in_index = oldname.find("IN") #IN indicator字串起點
test_index = oldname.find("T0") #T indicator字串起點
if in_index != -1: #檔名沒有"IN"都不處理
in_ind_old = oldname[in_index:in_index+4] #舊的IN字串
in_ind = "In"+str(int(oldname[in_index+2:in_index+4])-1) #新的IN起算點是0
tmp=oldname.replace(in_ind_old , in_ind+stg_ind)

test_ind_old = oldname[test_index:test_index+4]
test_ind = "T-"+str(int(oldname[test_index+1:test_index+4])+1).zfill(3) #新的T起算點是1,不足3碼要補0
tmp=tmp.replace(test_ind_old,test_ind)

newname=tmp.replace("_","-") #底線改減號
os.rename(oldname,newname) #改檔名
print(oldname,'-->>',newname)
n+=1

os.system("pause") #暫停提示完成

 

用pyinstaller打包成執行檔後變成5.4MB

pyinstaller -F ./Fname.py

感覺還是有點大

 

avatar-img
6會員
63內容數
ktest
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
你可能也想看
Google News 追蹤
Thumbnail
現代社會跟以前不同了,人人都有一支手機,只要打開就可以獲得各種資訊。過去想要辦卡或是開戶就要跑一趟銀行,然而如今科技快速發展之下,金融App無聲無息地進到你生活中。但同樣的,每一家銀行都有自己的App時,我們又該如何選擇呢?(本文係由國泰世華銀行邀約) 今天我會用不同角度帶大家看這款國泰世華CUB
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
生活或職場有時會碰到,需要變更檔案名稱的狀況,檔案名稱要修改,只需要在檔案名稱上點兩下,就會進入編輯模式,此時就可以隨心所欲的進行修改,不過當檔案數量爆炸多的時候,名稱一個一個修改耐心不夠的人可是會撐不住的😡 💡批量修改檔案名稱 全選資料範圍 全選的狀態下按下鍵盤的F2,
Thumbnail
在離線環境需要安裝Python套件時就相當的麻煩,需要先下載好套件包,在打指令安裝,若套件數量一多時就會相當麻煩。 本文將介紹如何利用兩行指令快速的安裝整個資料夾的套件。
Thumbnail
在讀取檔案時,最怕路徑的問題,常常會有路徑錯誤造成的異常報錯。 為了避免諸如此類的問題發生,明白程式的當前目錄與檔案的路徑是很重要的。 可以利用os 模組是 Python 中的一個標準庫,提供了許多與操作系統的功能。 以下是一些常用的 os 模組基本操作及其範例: 1. os.getcwd
ITS python認證內容含蓋六大主題
Thumbnail
INI 檔案是一種配置檔案格式,常用於保存設定資料和組態資訊。 它使用簡單的鍵值對結構來組織資料,通常用於程式、應用程式或操作系統中的配置和初始化設定。 INI 檔案每個鍵值對包含一個名稱(鍵)和對應的值。 基本的檔案格式如下: [Section1] Key1 = Value1 Key2 =
Thumbnail
Select the datastore you want to RENAME\rename\Input a new name\done
Thumbnail
宣告變數 變數是程式中用來儲存和表示數據的標識符號​,並將變數存放在某個記憶體位子 可以用ID的方法查找變數存在哪個記憶體,此方法有利於以後查找問題用。 在大多數程式語言中,變數需要事先聲明(宣告)並賦值。 而Python是一種動態類型語言,不需要顯式宣告變數類型,而是在賦值時自動進行推斷。
Thumbnail
題目敘述 題目會給定一個pandas DataFrame作為輸入,要求我們在原有的資料表上,將欄位grade的資料型別從原本的float變更為int整數型別。 題目的原文敘述 測試範例 Example 1: Input: DataFrame students: +------------
Thumbnail
題目敘述 題目會給定一個pandas DataFrame作為輸入,要求我們在原有的資料表上,將所有的column資料欄位名稱重新命名。 id 改名為 student_id first 改名為 first_name last 改名為 last_name age 改名為 age_in_year
Thumbnail
IDE 升級後出現了一樣的錯誤,手上程式碼沒有 pylint black-format 檢查上不了 gitlab,我又點開了那個很小很小的 x 符號,裡面 logs 提示的解決方式是升級..
Thumbnail
現代社會跟以前不同了,人人都有一支手機,只要打開就可以獲得各種資訊。過去想要辦卡或是開戶就要跑一趟銀行,然而如今科技快速發展之下,金融App無聲無息地進到你生活中。但同樣的,每一家銀行都有自己的App時,我們又該如何選擇呢?(本文係由國泰世華銀行邀約) 今天我會用不同角度帶大家看這款國泰世華CUB
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
生活或職場有時會碰到,需要變更檔案名稱的狀況,檔案名稱要修改,只需要在檔案名稱上點兩下,就會進入編輯模式,此時就可以隨心所欲的進行修改,不過當檔案數量爆炸多的時候,名稱一個一個修改耐心不夠的人可是會撐不住的😡 💡批量修改檔案名稱 全選資料範圍 全選的狀態下按下鍵盤的F2,
Thumbnail
在離線環境需要安裝Python套件時就相當的麻煩,需要先下載好套件包,在打指令安裝,若套件數量一多時就會相當麻煩。 本文將介紹如何利用兩行指令快速的安裝整個資料夾的套件。
Thumbnail
在讀取檔案時,最怕路徑的問題,常常會有路徑錯誤造成的異常報錯。 為了避免諸如此類的問題發生,明白程式的當前目錄與檔案的路徑是很重要的。 可以利用os 模組是 Python 中的一個標準庫,提供了許多與操作系統的功能。 以下是一些常用的 os 模組基本操作及其範例: 1. os.getcwd
ITS python認證內容含蓋六大主題
Thumbnail
INI 檔案是一種配置檔案格式,常用於保存設定資料和組態資訊。 它使用簡單的鍵值對結構來組織資料,通常用於程式、應用程式或操作系統中的配置和初始化設定。 INI 檔案每個鍵值對包含一個名稱(鍵)和對應的值。 基本的檔案格式如下: [Section1] Key1 = Value1 Key2 =
Thumbnail
Select the datastore you want to RENAME\rename\Input a new name\done
Thumbnail
宣告變數 變數是程式中用來儲存和表示數據的標識符號​,並將變數存放在某個記憶體位子 可以用ID的方法查找變數存在哪個記憶體,此方法有利於以後查找問題用。 在大多數程式語言中,變數需要事先聲明(宣告)並賦值。 而Python是一種動態類型語言,不需要顯式宣告變數類型,而是在賦值時自動進行推斷。
Thumbnail
題目敘述 題目會給定一個pandas DataFrame作為輸入,要求我們在原有的資料表上,將欄位grade的資料型別從原本的float變更為int整數型別。 題目的原文敘述 測試範例 Example 1: Input: DataFrame students: +------------
Thumbnail
題目敘述 題目會給定一個pandas DataFrame作為輸入,要求我們在原有的資料表上,將所有的column資料欄位名稱重新命名。 id 改名為 student_id first 改名為 first_name last 改名為 last_name age 改名為 age_in_year
Thumbnail
IDE 升級後出現了一樣的錯誤,手上程式碼沒有 pylint black-format 檢查上不了 gitlab,我又點開了那個很小很小的 x 符號,裡面 logs 提示的解決方式是升級..