使用 Python 批量重命名文件名

可能由于一时鬼迷心窍,看网友说什么,Adobe RGB色彩空间多么多么好,显示效果多么丰富。于是,一个错误的决定带来了trouble,也可以说不是什么问题(由于本人强迫症严重)。Canon 70D设置成Adobe RGB色彩空间后文件的命名方式变成了MG_1200.CR2、_MG_1001.JPG 本来是如IMG_8888.CR2、IMG_2000.JPG这样的命名。再加上我所有的照片都丢在一个文件夹里的,而Windows的文件排序方式居然以_*.***开头的,这就导致了我这部分拍摄的照片跑到了我之前拍摄的照片的前面,这让我,非常非常地,eggache!!!而且,我后来发现,原来AdobeRGB跟sRGB色彩空间的区别只出现在JPG格式上,而RAW格式是没有色彩空间这一属性的,就是说不管你设置的是AdobeRGB还是sRGB,RAW出来的片子是一样一样的。奇葩的是,命名却也变成了’‘开头的方式。。。而最可恨的是,用windows自带的图片查看器打开AdobeRGB的JPG图片时,由于色彩空间超出了所表示的范围,出现了严重的色彩指针。这。。。这的让我很难受啊。。。于是,问题来了。。。如何在Windows下批量修改文件名或者删除指定文件?

刚开始的时候我理所应当的想到windows自带的批处理文件,这个我们平时也经常用到。但是,我完全不熟悉windows批处理,然后上网查了一些教程学习之后,感觉bat批处理还是挺困难的。最后,放弃win批处理,投身python方式。

好了,说了这么多废话,终于要来重头戏了。接好!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
import sys
import string

if __name__ == '__main__':
srcfiles = os.listdir('.')
for srcfile in srcfiles:
filename, suffix = os.path.splitext(srcfile)
if filename[0] == '_':
if suffix.lower() == '.jpg':
targetfile = os.path.join('./', srcfile)
os.remove(targetfile)
print u'删除' + filename + suffix
else:
destfile = './' + 'I'+filename[1:]+suffix
os.rename(srcfile, destfile)
print destfile

print u'所有文件处理完毕!

这是一个python脚本文件,将该脚本拖到需要重命名文件的目录下双击运行即可(当然需要python环境)。
脚本主要特征,运行之后一个可以将_MG_1212.CR2文件改名为IMG_1212.CR2和将_MG_1313.JPG之类的文件删除,因为这类JPG文件色彩严重失真,你一定是不想要的!

这个python脚本仅供大家参考,有不懂的地方请大家自行google,最后,希望能够帮到大家!!!

声明:本脚本仅供各位朋友学习测试使用,如出现任何问题,本人概不负责!

Windows批处理命令

1.查看一下windows下都有哪些批处理命令,方法很简单也很容易想到。打开一个CMD窗口输入help,会显示如下命令:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
有关某个命令的详细信息,请键入 HELP 命令名
ASSOC 显示或修改文件扩展名关联。
ATTRIB 显示或更改文件属性。
BREAK 设置或清除扩展式 CTRL+C 检查。
BCDEDIT 设置启动数据库中的属性以控制启动加载。
CACLS 显示或修改文件的访问控制列表(ACL)。
CALL 从另一个批处理程序调用这一个。
CD 显示当前目录的名称或将其更改。
CHCP 显示或设置活动代码页数。
CHDIR 显示当前目录的名称或将其更改。
CHKDSK 检查磁盘并显示状态报告。
CHKNTFS 显示或修改启动时间磁盘检查。
CLS 清除屏幕。
CMD 打开另一个 Windows 命令解释程序窗口。
COLOR 设置默认控制台前景和背景颜色。
COMP 比较两个或两套文件的内容。
COMPACT 显示或更改 NTFS 分区上文件的压缩。
CONVERT 将 FAT 卷转换成 NTFS。你不能转换当前驱动器。
COPY 将至少一个文件复制到另一个位置。
DATE 显示或设置日期。
DEL 删除至少一个文件。
DIR 显示一个目录中的文件和子目录。
DISKCOMP 比较两个软盘的内容。
DISKCOPY 将一个软盘的内容复制到另一个软盘。
DISKPART 显示或配置磁盘分区属性。
DOSKEY 编辑命令行、调用 Windows 命令并创建宏。
DRIVERQUERY 显示当前设备驱动程序状态和属性。
ECHO 显示消息,或将命令回显打开或关上。
ENDLOCAL 结束批文件中环境更改的本地化。
ERASE 删除一个或多个文件。
EXIT 退出 CMD.EXE 程序(命令解释程序)。
FC 比较两个文件或两个文件集并显示它们之间的不同。
FIND 在一个或多个文件中搜索一个文本字符串。
FINDSTR 在多个文件中搜索字符串。
FOR 为一套文件中的每个文件运行一个指定的命令。
FORMAT 格式化磁盘,以便跟 Windows 使用。
FSUTIL 显示或配置文件系统的属性。
FTYPE 显示或修改用在文件扩展名关联的文件类型。
GOTO 将 Windows 命令解释程序指向批处理程序中某个带标签的行。
GPRESULT 显示机器或用户的组策略信息。
GRAFTABL 启用 Windows 在图形模式显示扩展字符集。
HELP 提供 Windows 命令的帮助信息。
ICACLS 显示、修改、备份或还原文件和目录的 ACL。
IF 在批处理程序中执行有条件的处理过程。
LABEL 创建、更改或删除磁盘的卷标。
MD 创建一个目录。
MKDIR 创建一个目录。
MKLINK 创建符号链接和硬链接
MODE 配置系统设备。
MORE 逐屏显示输出。
MOVE 将一个或多个文件从一个目录移动到另一个目录。
OPENFILES 显示远程用户为了文件共享而打开的文件。
PATH 为可执行文件显示或设置搜索路径。
PAUSE 停止批处理文件的处理并显示信息。
POPD 还原由 PUSHD 保存的当前目录上一次的值。
PRINT 打印一个文本文件。
PROMPT 改变 Windows 命令提示。
PUSHD 保存当前目录,然后对其进行更改。
RD 删除目录。
RECOVER 从损坏的磁盘中恢复可读取的信息。
REM 记录批处理文件或 CONFIG.SYS 中的注释。
REN 重新命名文件。
RENAME 重新命名文件。
REPLACE 替换文件。
RMDIR 删除目录。
ROBOCOPY 复制文件和目录树的高级实用程序
SET 显示、设置或删除 Windows 环境变量。
SETLOCAL 开始用批文件改变环境的本地化。
SC 显示或配置服务(后台进程)。
SCHTASKS 安排命令和程序在一部计算机上按计划运行。
SHIFT 调整批处理文件中可替换参数的位置。
SHUTDOWN 让机器在本地或远程正确关闭。
SORT 将输入排序。
START 打开单独视窗运行指定程序或命令。
SUBST 将驱动器号与路径关联。
SYSTEMINFO 显示机器的具体的属性和配置。
TASKLIST 显示包括服务的所有当前运行的任务。
TASKKILL 终止正在运行的进程或应用程序。
TIME 显示或设置系统时间。
TITLE 设置 CMD.EXE 会话的窗口标题。
TREE 以图形显示启动器或路径的目录结构。
TYPE 显示文本文件的内容。
VER 显示 Windows 的版本。
VERIFY 告诉 Windows 验证文件是否正确写入磁盘。
VOL 显示磁盘卷标和序列号。
XCOPY 复制文件和目录树。
WMIC 在交互命令外壳里显示 WMI 信息。
有关工具的详细信息,请参阅联机帮助中的命令行参考。

2.写一个Hello World
随便在哪个目录下面,新建一个helloworld.bat的文件,输入
@echo off
echo Hello World
pause
保存退出,双击执行helloworld.bat文件,你会看到在CMD窗口中显示Hello World

3.命令详解

  1. echo
  2. rem和::
  3. @

hackintoshing yosemite in xps l502x(在戴尔xps l502x上安装黑苹果)

由于想尝试在Mac OSX下做开发,之前在虚拟机中体验过,因为速度太慢实在无法忍受,所以决定在PC上面安装黑苹果。我的机器是戴尔XPS L502X,准备安装的系统是Apple最新的OS X Yosemite 10.10.1 。
硬件配置详情:
——鲁大师 Build V5.5.14.1065——

电脑型号: 戴尔 System XPS L502X 笔记本电脑
操作系统: Windows 8.1 专业版 64位

处理器: 英特尔 第二代酷睿 i7-2630QM @ 2.00GHz 四核
主板: 戴尔 0NJT03
内存: 8 GB ( 金士顿 DDR3 1333MHz / 三星 DDR3 1333MHz )
主硬盘: 西数 WDC WD7500BPKT-75PK4T0 ( 750 GB / 7200 转/分 )
显卡: Nvidia GeForce GT 540M ( 2 GB / 戴尔 )
显示器: 友达 AUO17ED ( 15.3 英寸 )
光驱: 日立-LG DVD+-RW GT32N DVD刻录机
声卡: 瑞昱 ALC665 高保真音频
网卡: 瑞昱 RTL8168E PCI-E Gigabit Ethernet NIC / 戴尔

准备工作:
1.先对硬盘进行分区
从硬盘中分一块区域用来安装OSX,如果没有空闲的分区,可以在已经分出来的区域中(如E盘、F盘)进行压缩卷(压缩卷就是从E盘空闲的区域重新分一块新的区域出来

注:很多品牌电脑出厂自带OEM分区和Recovery分区,需要对这两个分区添加盘符,不然引导工具无法正确安装。
给分区添加盘符方法很简单,可以使用windows自带的diskpart工具。步骤如下
a.运行CMD
b.输入diskpart #打开windows磁盘分区工具
c.list disk #这一步会显示你电脑上有多少块硬盘
d.选择你要安装系统的磁盘,我这里选择sel disk 0
e.list part #列出磁盘上所有的分区,找到OEM所对应的分区
f.sel part 1
g.set id 7 #给分区设置一个ID,数字随便给,这样就能显示出来了,如果还不行assign letter P,分配盘符

2.制作安装盘
我使用的是U盘安装,所以我只做了一个安装U盘。

完成这些步骤之后,拔出U盘然后再插上,在资源管理器中可以看到U盘的EFI分区。将解压得到的boot文件和EFI文件拷贝到安装U盘的EFI分区目录下。到此OSX的安装U盘制作完成。

3.安装OSX系统

linux内核编译之初体验

用了一段时间的linux,感觉linux真的是一个非常强大的操作系统。为了能更直接的了解linux,决定自己动手编译一下linux的内核。在此之前,我baidu了很多网友写的一些关于编译linux内核的文章。因为linux版本迭代的速度太快,所以基本上大部分的文章中介绍的版本都已经太老了,但是还好内核的编译步骤基本上怎么变化过。我就以这篇文章作为参考,地址:http://www.cnblogs.com/top5/archive/2011/03/04/1970645.html

SDL学习笔记之一

写在前面:要说学习SDL的目的,其实是为了想开发一个自己的视频播放器。上网查了很多资料关于开发视频播放器,其中找到一篇博文写的用FFMPEG+SDL来实现一个用100行代码写的释放器。为了弄明白SDL到底是个什么东西,决定去学习一下SDL的API。我在学习SDL的时候,参考的是Lazy Foo老兄写的 Beginning Game Programming v2.0 。
这是他的网站地址:http://lazyfoo.net/tutorials/SDL/index.php

关于SDL:
SDL(Simple DirectMedia Layer)是一个跨平台的开发库,旨在提供低级的获取声音,键盘,鼠标,操纵杆和图形硬件通过OpenGL和Direct3D。它被用在视频播放软件,模拟器和流行的游戏上,包括Valve’s award winning catalog和许多Humble Bundle游戏。
SDL的官网:https://www.libsdl.org/

下载SDL:
目前SDL已经更新到2.0版本。下载地址:https://www.libsdl.org/download-2.0.php 我使用的操作系统是Win8.1,因为我搭建了MinGW环境,所以使用SDL2-devel-2.0.3-mingw.tar.gz (MinGW 32/64-bit)来进行开发。

使用SDL开发第一个程序:

vsftpd安装配置

简介

vsftpd是一个运行在类unix上的FTP服务器程序,能运行在linux,BSD,Soliars等多个平台上。

vsftpd安装

1.使用yum安装或者在ubuntu上面使用apt-get方式
2.去官网下载源码包
[root@localhost ~]# tar zxvf vsftpd-2.0.3.tar.gz
[root@localhost ~]# cd vsftpd-2.0.3
[root@localhost ~]# make && make install
[root@localhost ~]# cp vsftpd.conf /etc
然后修改/etc/vsftpd.conf ,在配置文件的最后一行加入下面一行;
listen=yes

vsftpd配置

略。

在 Linux 上搭建邮件服务器

需要的软件:

  • postfix
  • mysql
  • openssl
  • sasl

    安装:

  1. mysql安装(略)
  2. openssl安装
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    tar zxvf openssl-0.9.8e.tar.gz
    cd openssl-0.9.8e
    ./config shared zlib
    make
    make test
    make install
    mv /usr/bin/openssl /usr/bin/openssl.OFF
    mv /usr/include/openssl /usr/include/openssl.OFF
    rm /usr/lib/libssl.so
    ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
    ln -s /usr/local/ssl/include/openssl /usr/include/openssl
    ln -sv /usr/local/ssl/lib/libssl.so.0.9.8 /usr/lib/libssl.so

    配置库文件搜索路径

    1
    2
    echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
    ldconfig -v

    检测安装结果

    1
    2
    openssl version
    OpenSSL 0.9.8e 23 Feb 2007