[記錄用]python py2app 檔案批次重新命名
demo.py 主要作用為
將同目錄下 *.mp4 檔案批次重新命名
例如:
aaa001.mp4 ---重新命名為--> 001.mp4
aaa002.mp4 ---重新命名為--> 002.mp4
- #!/usr/local/bin/python
- # -*- coding: UTF-8 -*-
- from Tkinter import *
- import sys,glob,os
- reload(sys)
- sys.setdefaultencoding("utf-8")
- class HelloApp(Frame):
- def __init__(self, master=None):
- Frame.__init__(self, master)
- self.grid()
- self.createWidgets()
- self.count=0
- def createWidgets(self):
- self.QUIT = Button(self)
- self.QUIT["text"] = "QUIT"
- self.QUIT["command"] = self.quit
- self.QUIT.grid(row=0, column=0)
- self.hi = Button(self)
- self.hi["text"] = "RUN"
- self.hi["command"] = self.run
- self.hi.grid(row=0, column=1)
- self.text = Label(self)
- self.text["text"] = ""
- self.text.grid(row=1, column=0,columnspan=2)
- def run(self):
- allfiles = glob.glob(r'../../../*.mp4')
- #allfiles = glob.glob(r'*.mp4')
- self.text["text"] = '執行開始'
- listname = ''
- for afile in allfiles:
- listname=listname + "," + afile
- new_filename = afile.replace('aaa', "")#print afile
- os.rename(afile, new_filename)
- self.text["text"] = '執行完成' + listname
- if __name__ == '__main__':
- root = Tk()
- root.wm_title("imooc rename tool")
- #root.maxsize(800, 600)
- root.geometry('400x300')
- #root.resizable(width=True, height=True)
- app = HelloApp(master=root)
- app.mainloop()
- >py2applet --make-setup demo.py
Existing setup.py detected, replace? [Y/n] y
Wrote setup.py- >ls
aaa001.mp4 aaa002.mp4 demo.py setup.py- >python setup.py py2app
- .
.
.
Done!
>ls
aaa001.mp4 aaa002.mp4 build demo.py dist setup.py- >ls ./dist
demo.app- >ls
aaa001.mp4 aaa.mp4 build demo.py dist setup.py- >cp -r ./dist/demo.app ./
>ls
aaa001.mp4 aaa002.mp4 build demo.app demo.py dist setup.py
執行 demo.app
點選 RUN按鈕 執行批次重新命名
[記錄用]python py2app 檔案批次重新命名的更多相关文章
- 如何在 Visual Studio 2012 控制 TFS 版控時要忽略哪些檔案
幾乎在任何一種版本控管的機制裡,都會遇到那些「不應該簽入到版本庫」的潛規則,以往我們在用 SVN 的時候,我就寫過幾篇文章要大家注意這點.最近都改用 TFS 做版控,因為大多使用 Visual Stu ...
- C++ 檔案、資料夾、路徑處理函式庫:boost::filesystem
原帖:https://tokyo.zxproxy.com/browse.php?u=uG7kXsFlW1ZmaxKEvCzu8HrCJ0bXIAddA1s5dtIUZ%2FYzM1u9JI7jjKLT ...
- [Python學習筆記] 抓出msg信件檔裡的附件檔案
想要把msg信件檔案的附件抓出來做處理,找到了這個Python 模組 msg-extractor 使用十分容易,但是這個模組是要在terminal裡執行,無法直接打在IDLE的編輯器上 所以稍微做了修 ...
- [Batch檔案筆記] 在UNC路徑中執行Batch檔
為了讓其他人可以免安裝又可以執行python程式所以我把python portable版本 winpython 放在samba的空間共享但是使用者如果要開 winpython cammand prom ...
- [ASP.NET] 如何利用Javascript分割檔案上傳至後端合併
最近研究了一下如何利用javascript進行檔案分割上傳並且透過後端.特地記錄一下相關的用法 先寫限制跟本篇的一些陷阱 1.就是瀏覽器的支援了 因為本篇有用到blob跟webworker 在ie中需 ...
- (C/C++) FILE 讀寫檔案操作
在C/C++ 讀寫檔案操作比較常見應該是利用 FILE.ifstream.ofstream 在這篇筆記裡頭記錄 FILE.fstream 使用方法及操作 #include <iostream&g ...
- 何解決 LinqToExcel 發生「無法載入檔案或組件」問題何解決 LinqToExcel 發生「無法載入檔案或組件」問題
在自己的主機上透過 Visual Studio 2013 與 IISExpress 開發與測試都還正常,但只要部署到測試機或正式機,就是沒辦法順利執行,卡關許久之後找我協助.我發現錯誤訊息確實很「一般 ...
- C# 選擇本機檔案並上傳
參考自:http://www.dotblogs.com.tw/puma/archive/2008/11/07/5910.aspxhttp://www.codeproject.com/Articles/ ...
- 在 Server 端存取 Excel 檔案的利器:NPOI Library
转处 http://msdn.microsoft.com/zh-tw/ee818993.aspx Codeplex 軟體套件(Package)資訊 套件名稱 NPOI 作者 tonyqus, huse ...
随机推荐
- 自己动手写CPU之第七阶段(7)——乘累加指令的实现
将陆续上传本人写的新书<自己动手写CPU>.今天是第30篇.我尽量每周四篇 亚马逊的销售地址例如以下.欢迎大家围观呵! http://www.amazon.cn/dp/b00mqkrlg8 ...
- MFC TreeCtrl 控件(一):简单使用
本文描写叙述了 MFC 中的树形控件 TreeCtrl 的简单使用,内容包含数据项的加入.图标设置.提示信息设置等. 新建基于对话框的应用程序,加入一个 TreeCtrl ,为其定义一个控件变量 m_ ...
- PERCONA-TOOLKIT 工具的安装与使用2
[root@server-mysql ~]# cd /usr/bin [root@server-mysql bin]# ls pt* pt-align pt-duplicate-key-checker ...
- swap函数的例子
13.31为你的HasPtr类定义一个<运算符,并定义一个HasPtr的vector为这个vector添加一些元素,并对它执行sort.注意何时会调用swap. #include<iost ...
- [转] Android进阶——安卓接入微信,获取OpenID
PS: sendAuthRequest拿到code,通过code拿到access_token和openId,access_token可以拿到用户的信息 http://blog.csdn.net/hao ...
- 自定义URL Scheme完全指南
iPhone / iOS SDK 最酷的特性之一就是应用将其自身”绑定”到一个自定义 URL scheme 上,该 scheme 用于从浏览器或其他应用中启动本应用. 注册自定义 URL Scheme ...
- MAC终端显示隐藏文件,关闭显示
1.显示隐藏文件夹显示:defaults write com.apple.finder AppleShowAllFiles -bool true (1)复制“defaults write com.ap ...
- [Form Builder]NAME_IN()与COPY()
NAME_IN和COPY实际是间接引用,类似指针传递,而不是值传递... IF :VAR1 IS NULL ... direct referenceIF NAME_IN ( :VAR1 ) IS N ...
- 深入理解计算机系统第二版习题解答CSAPP 2.7
下面的函数将输出什么结果? const char *s = "abcdef"; show_bytes((byte_pointer) s, strlen(s)); 其中字母'a'~' ...
- Java并发——同步容器与并发容器
同步容器类 早期版本的JDK提供的同步容器类为Vector和Hashtable,JDK1.2 提供了Collections.synchronizedXxx等工程方法,将普通的容器继续包装.对每个共有方 ...