<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-321608313623202427</id><updated>2011-09-01T06:13:52.621-07:00</updated><category term='первый'/><title type='text'>vuladix.blog</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://vuladix.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/321608313623202427/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://vuladix.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>vuladix</name><uri>http://www.blogger.com/profile/08174609157735705116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-321608313623202427.post-4403175101744719959</id><published>2010-12-04T04:00:00.000-08:00</published><updated>2010-12-04T04:07:08.856-08:00</updated><title type='text'>Batch File Renaming with Python</title><content type='html'>I bet everyone has already had this problem. You have a couple of hundreds of files (e.g. photos) and want to rename them all at once using some pattern.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I woke up today and asked myself, why not write a small python script. Here it is:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: monospace; color: rgb(0, 0, 102); font-size: 10px; "&gt;&lt;ol&gt;&lt;li class="li1" style="font-weight: normal; vertical-align: top; font: normal normal normal 130%/normal 'Courier New', Courier, monospace; color: rgb(0, 48, 48); "&gt;&lt;div class="de1" style="font: normal normal normal 1em/1.2em monospace; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; vertical-align: top; color: rgb(0, 0, 32); background-position: initial initial; background-repeat: initial initial; "&gt;&lt;span class="co1" style="color: rgb(128, 128, 128); font-style: italic; "&gt;#!/usr/bin/env python&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="font-weight: normal; vertical-align: top; font: normal normal normal 130%/normal 'Courier New', Courier, monospace; color: rgb(0, 48, 48); "&gt;&lt;div class="de1" style="font: normal normal normal 1em/1.2em monospace; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; vertical-align: top; color: rgb(0, 0, 32); background-position: initial initial; background-repeat: initial initial; "&gt; &lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="font-weight: normal; vertical-align: top; font: normal normal normal 130%/normal 'Courier New', Courier, monospace; color: rgb(0, 48, 48); "&gt;&lt;div class="de1" style="font: normal normal normal 1em/1.2em monospace; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; vertical-align: top; color: rgb(0, 0, 32); background-position: initial initial; background-repeat: initial initial; "&gt;&lt;span class="kw1" style="color: rgb(255, 119, 0); font-weight: bold; "&gt;import&lt;/span&gt; &lt;span class="kw3" style="color: rgb(220, 20, 60); "&gt;re&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="font-weight: normal; vertical-align: top; font: normal normal normal 130%/normal 'Courier New', Courier, monospace; color: rgb(0, 48, 48); "&gt;&lt;div class="de1" style="font: normal normal normal 1em/1.2em monospace; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; vertical-align: top; color: rgb(0, 0, 32); background-position: initial initial; background-repeat: initial initial; "&gt;&lt;span class="kw1" style="color: rgb(255, 119, 0); font-weight: bold; "&gt;import&lt;/span&gt; &lt;span class="kw3" style="color: rgb(220, 20, 60); "&gt;os&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li2" style="font-weight: bold; vertical-align: top; font: normal normal normal 130%/normal 'Courier New', Courier, monospace; color: rgb(0, 96, 96); "&gt;&lt;div class="de2" style="font: normal normal normal 1em/1.2em monospace; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; vertical-align: top; color: rgb(0, 0, 32); background-position: initial initial; background-repeat: initial initial; "&gt; &lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="font-weight: normal; vertical-align: top; font: normal normal normal 130%/normal 'Courier New', Courier, monospace; color: rgb(0, 48, 48); "&gt;&lt;div class="de1" style="font: normal normal normal 1em/1.2em monospace; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; vertical-align: top; color: rgb(0, 0, 32); background-position: initial initial; background-repeat: initial initial; "&gt;&lt;span class="co1" style="color: rgb(128, 128, 128); font-style: italic; "&gt;# regex matching the file name blablaqwe123456.txt&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="font-weight: normal; vertical-align: top; font: normal normal normal 130%/normal 'Courier New', Courier, monospace; color: rgb(0, 48, 48); "&gt;&lt;div class="de1" style="font: normal normal normal 1em/1.2em monospace; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; vertical-align: top; color: rgb(0, 0, 32); background-position: initial initial; background-repeat: initial initial; "&gt;regex = &lt;span class="st0" style="color: rgb(72, 61, 139); "&gt;'^s_Entrepreneurship_Corner_Podcasts_(&lt;span class="es0" style="color: rgb(0, 0, 153); font-weight: bold; "&gt;\S&lt;/span&gt;+)(&lt;span class="es0" style="color: rgb(0, 0, 153); font-weight: bold; "&gt;\d&lt;/span&gt;&lt;span class="es0" style="color: rgb(0, 0, 153); font-weight: bold; "&gt;\d&lt;/span&gt;)(&lt;span class="es0" style="color: rgb(0, 0, 153); font-weight: bold; "&gt;\d&lt;/span&gt;&lt;span class="es0" style="color: rgb(0, 0, 153); font-weight: bold; "&gt;\d&lt;/span&gt;)(&lt;span class="es0" style="color: rgb(0, 0, 153); font-weight: bold; "&gt;\d&lt;/span&gt;&lt;span class="es0" style="color: rgb(0, 0, 153); font-weight: bold; "&gt;\d&lt;/span&gt;)&lt;span class="es0" style="color: rgb(0, 0, 153); font-weight: bold; "&gt;\.&lt;/span&gt;(txt)$'&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="font-weight: normal; vertical-align: top; font: normal normal normal 130%/normal 'Courier New', Courier, monospace; color: rgb(0, 48, 48); "&gt;&lt;div class="de1" style="font: normal normal normal 1em/1.2em monospace; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; vertical-align: top; color: rgb(0, 0, 32); background-position: initial initial; background-repeat: initial initial; "&gt; &lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="font-weight: normal; vertical-align: top; font: normal normal normal 130%/normal 'Courier New', Courier, monospace; color: rgb(0, 48, 48); "&gt;&lt;div class="de1" style="font: normal normal normal 1em/1.2em monospace; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; vertical-align: top; color: rgb(0, 0, 32); background-position: initial initial; background-repeat: initial initial; "&gt;&lt;span class="co1" style="color: rgb(128, 128, 128); font-style: italic; "&gt;# prepare the regex&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li2" style="font-weight: bold; vertical-align: top; font: normal normal normal 130%/normal 'Courier New', Courier, monospace; color: rgb(0, 96, 96); "&gt;&lt;div class="de2" style="font: normal normal normal 1em/1.2em monospace; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; vertical-align: top; color: rgb(0, 0, 32); background-position: initial initial; background-repeat: initial initial; "&gt;r = &lt;span class="kw3" style="color: rgb(220, 20, 60); "&gt;re&lt;/span&gt;.&lt;span class="kw2" style="color: rgb(0, 128, 0); "&gt;compile&lt;/span&gt;&lt;span class="br0" style="color: black; "&gt;(&lt;/span&gt;regex&lt;span class="br0" style="color: black; "&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="font-weight: normal; vertical-align: top; font: normal normal normal 130%/normal 'Courier New', Courier, monospace; color: rgb(0, 48, 48); "&gt;&lt;div class="de1" style="font: normal normal normal 1em/1.2em monospace; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; vertical-align: top; color: rgb(0, 0, 32); background-position: initial initial; background-repeat: initial initial; "&gt; &lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="font-weight: normal; vertical-align: top; font: normal normal normal 130%/normal 'Courier New', Courier, monospace; color: rgb(0, 48, 48); "&gt;&lt;div class="de1" style="font: normal normal normal 1em/1.2em monospace; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; vertical-align: top; color: rgb(0, 0, 32); background-position: initial initial; background-repeat: initial initial; "&gt;&lt;span class="co1" style="color: rgb(128, 128, 128); font-style: italic; "&gt;# list files in the current directory&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="font-weight: normal; vertical-align: top; font: normal normal normal 130%/normal 'Courier New', Courier, monospace; color: rgb(0, 48, 48); "&gt;&lt;div class="de1" style="font: normal normal normal 1em/1.2em monospace; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; vertical-align: top; color: rgb(0, 0, 32); background-position: initial initial; background-repeat: initial initial; "&gt;&lt;span class="kw2" style="color: rgb(0, 128, 0); "&gt;all&lt;/span&gt; = &lt;span class="kw3" style="color: rgb(220, 20, 60); "&gt;os&lt;/span&gt;.&lt;span class="me1" style="color: black; "&gt;listdir&lt;/span&gt;&lt;span class="br0" style="color: black; "&gt;(&lt;/span&gt;&lt;span class="st0" style="color: rgb(72, 61, 139); "&gt;'.'&lt;/span&gt;&lt;span class="br0" style="color: black; "&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="font-weight: normal; vertical-align: top; font: normal normal normal 130%/normal 'Courier New', Courier, monospace; color: rgb(0, 48, 48); "&gt;&lt;div class="de1" style="font: normal normal normal 1em/1.2em monospace; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; vertical-align: top; color: rgb(0, 0, 32); background-position: initial initial; background-repeat: initial initial; "&gt; &lt;/div&gt;&lt;/li&gt;&lt;li class="li2" style="font-weight: bold; vertical-align: top; font: normal normal normal 130%/normal 'Courier New', Courier, monospace; color: rgb(0, 96, 96); "&gt;&lt;div class="de2" style="font: normal normal normal 1em/1.2em monospace; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; vertical-align: top; color: rgb(0, 0, 32); background-position: initial initial; background-repeat: initial initial; "&gt;&lt;span class="kw1" style="color: rgb(255, 119, 0); font-weight: bold; "&gt;for&lt;/span&gt; fname &lt;span class="kw1" style="color: rgb(255, 119, 0); font-weight: bold; "&gt;in&lt;/span&gt; &lt;span class="kw2" style="color: rgb(0, 128, 0); "&gt;all&lt;/span&gt;:&lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="font-weight: normal; vertical-align: top; font: normal normal normal 130%/normal 'Courier New', Courier, monospace; color: rgb(0, 48, 48); "&gt;&lt;div class="de1" style="font: normal normal normal 1em/1.2em monospace; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; vertical-align: top; color: rgb(0, 0, 32); background-position: initial initial; background-repeat: initial initial; "&gt;    m = r.&lt;span class="me1" style="color: black; "&gt;match&lt;/span&gt;&lt;span class="br0" style="color: black; "&gt;(&lt;/span&gt;fname&lt;span class="br0" style="color: black; "&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="font-weight: normal; vertical-align: top; font: normal normal normal 130%/normal 'Courier New', Courier, monospace; color: rgb(0, 48, 48); "&gt;&lt;div class="de1" style="font: normal normal normal 1em/1.2em monospace; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; vertical-align: top; color: rgb(0, 0, 32); background-position: initial initial; background-repeat: initial initial; "&gt;    &lt;span class="kw1" style="color: rgb(255, 119, 0); font-weight: bold; "&gt;if&lt;/span&gt; m:&lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="font-weight: normal; vertical-align: top; font: normal normal normal 130%/normal 'Courier New', Courier, monospace; color: rgb(0, 48, 48); "&gt;&lt;div class="de1" style="font: normal normal normal 1em/1.2em monospace; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; vertical-align: top; color: rgb(0, 0, 32); background-position: initial initial; background-repeat: initial initial; "&gt;        &lt;span class="co1" style="color: rgb(128, 128, 128); font-style: italic; "&gt;# extract the different parts from the old name&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="font-weight: normal; vertical-align: top; font: normal normal normal 130%/normal 'Courier New', Courier, monospace; color: rgb(0, 48, 48); "&gt;&lt;div class="de1" style="font: normal normal normal 1em/1.2em monospace; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; vertical-align: top; color: rgb(0, 0, 32); background-position: initial initial; background-repeat: initial initial; "&gt;        name = m.&lt;span class="me1" style="color: black; "&gt;group&lt;/span&gt;&lt;span class="br0" style="color: black; "&gt;(&lt;/span&gt;&lt;span class="nu0" style="color: rgb(255, 69, 0); "&gt;1&lt;/span&gt;&lt;span class="br0" style="color: black; "&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li2" style="font-weight: bold; vertical-align: top; font: normal normal normal 130%/normal 'Courier New', Courier, monospace; color: rgb(0, 96, 96); "&gt;&lt;div class="de2" style="font: normal normal normal 1em/1.2em monospace; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; vertical-align: top; color: rgb(0, 0, 32); background-position: initial initial; background-repeat: initial initial; "&gt;        year = &lt;span class="st0" style="color: rgb(72, 61, 139); "&gt;"20"&lt;/span&gt; + m.&lt;span class="me1" style="color: black; "&gt;group&lt;/span&gt;&lt;span class="br0" style="color: black; "&gt;(&lt;/span&gt;&lt;span class="nu0" style="color: rgb(255, 69, 0); "&gt;2&lt;/span&gt;&lt;span class="br0" style="color: black; "&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="font-weight: normal; vertical-align: top; font: normal normal normal 130%/normal 'Courier New', Courier, monospace; color: rgb(0, 48, 48); "&gt;&lt;div class="de1" style="font: normal normal normal 1em/1.2em monospace; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; vertical-align: top; color: rgb(0, 0, 32); background-position: initial initial; background-repeat: initial initial; "&gt;        month = m.&lt;span class="me1" style="color: black; "&gt;group&lt;/span&gt;&lt;span class="br0" style="color: black; "&gt;(&lt;/span&gt;&lt;span class="nu0" style="color: rgb(255, 69, 0); "&gt;3&lt;/span&gt;&lt;span class="br0" style="color: black; "&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="font-weight: normal; vertical-align: top; font: normal normal normal 130%/normal 'Courier New', Courier, monospace; color: rgb(0, 48, 48); "&gt;&lt;div class="de1" style="font: normal normal normal 1em/1.2em monospace; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; vertical-align: top; color: rgb(0, 0, 32); background-position: initial initial; background-repeat: initial initial; "&gt;        day = m.&lt;span class="me1" style="color: black; "&gt;group&lt;/span&gt;&lt;span class="br0" style="color: black; "&gt;(&lt;/span&gt;&lt;span class="nu0" style="color: rgb(255, 69, 0); "&gt;4&lt;/span&gt;&lt;span class="br0" style="color: black; "&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="font-weight: normal; vertical-align: top; font: normal normal normal 130%/normal 'Courier New', Courier, monospace; color: rgb(0, 48, 48); "&gt;&lt;div class="de1" style="font: normal normal normal 1em/1.2em monospace; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; vertical-align: top; color: rgb(0, 0, 32); background-position: initial initial; background-repeat: initial initial; "&gt;        ext = m.&lt;span class="me1" style="color: black; "&gt;group&lt;/span&gt;&lt;span class="br0" style="color: black; "&gt;(&lt;/span&gt;&lt;span class="nu0" style="color: rgb(255, 69, 0); "&gt;5&lt;/span&gt;&lt;span class="br0" style="color: black; "&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="font-weight: normal; vertical-align: top; font: normal normal normal 130%/normal 'Courier New', Courier, monospace; color: rgb(0, 48, 48); "&gt;&lt;div class="de1" style="font: normal normal normal 1em/1.2em monospace; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; vertical-align: top; color: rgb(0, 0, 32); background-position: initial initial; background-repeat: initial initial; "&gt;       &lt;/div&gt;&lt;/li&gt;&lt;li class="li2" style="font-weight: bold; vertical-align: top; font: normal normal normal 130%/normal 'Courier New', Courier, monospace; color: rgb(0, 96, 96); "&gt;&lt;div class="de2" style="font: normal normal normal 1em/1.2em monospace; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; vertical-align: top; color: rgb(0, 0, 32); background-position: initial initial; background-repeat: initial initial; "&gt;        &lt;span class="co1" style="color: rgb(128, 128, 128); font-style: italic; "&gt;# create the new name&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="font-weight: normal; vertical-align: top; font: normal normal normal 130%/normal 'Courier New', Courier, monospace; color: rgb(0, 48, 48); "&gt;&lt;div class="de1" style="font: normal normal normal 1em/1.2em monospace; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; vertical-align: top; color: rgb(0, 0, 32); background-position: initial initial; background-repeat: initial initial; "&gt;        newfname = year + &lt;span class="st0" style="color: rgb(72, 61, 139); "&gt;"-"&lt;/span&gt; + month + &lt;span class="st0" style="color: rgb(72, 61, 139); "&gt;"-"&lt;/span&gt; + day + &lt;span class="st0" style="color: rgb(72, 61, 139); "&gt;"-"&lt;/span&gt; + name + &lt;span class="st0" style="color: rgb(72, 61, 139); "&gt;"."&lt;/span&gt; + ext&lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="font-weight: normal; vertical-align: top; font: normal normal normal 130%/normal 'Courier New', Courier, monospace; color: rgb(0, 48, 48); "&gt;&lt;div class="de1" style="font: normal normal normal 1em/1.2em monospace; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; vertical-align: top; color: rgb(0, 0, 32); background-position: initial initial; background-repeat: initial initial; "&gt;       &lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="font-weight: normal; vertical-align: top; font: normal normal normal 130%/normal 'Courier New', Courier, monospace; color: rgb(0, 48, 48); "&gt;&lt;div class="de1" style="font: normal normal normal 1em/1.2em monospace; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; vertical-align: top; color: rgb(0, 0, 32); background-position: initial initial; background-repeat: initial initial; "&gt;        &lt;span class="co1" style="color: rgb(128, 128, 128); font-style: italic; "&gt;# rename the file&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="font-weight: normal; vertical-align: top; font: normal normal normal 130%/normal 'Courier New', Courier, monospace; color: rgb(0, 48, 48); "&gt;&lt;div class="de1" style="font: normal normal normal 1em/1.2em monospace; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; vertical-align: top; color: rgb(0, 0, 32); background-position: initial initial; background-repeat: initial initial; "&gt;        &lt;span class="kw1" style="color: rgb(255, 119, 0); font-weight: bold; "&gt;print&lt;/span&gt; &lt;span class="st0" style="color: rgb(72, 61, 139); "&gt;"renaming "&lt;/span&gt; + fname + &lt;span class="st0" style="color: rgb(72, 61, 139); "&gt;" to "&lt;/span&gt; + newfname + &lt;span class="st0" style="color: rgb(72, 61, 139); "&gt;"..."&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li2" style="font-weight: bold; vertical-align: top; font: normal normal normal 130%/normal 'Courier New', Courier, monospace; color: rgb(0, 96, 96); "&gt;&lt;div class="de2" style="font: normal normal normal 1em/1.2em monospace; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; vertical-align: top; color: rgb(0, 0, 32); background-position: initial initial; background-repeat: initial initial; "&gt;        &lt;span class="kw3" style="color: rgb(220, 20, 60); "&gt;os&lt;/span&gt;.&lt;span class="me1" style="color: black; "&gt;rename&lt;/span&gt;&lt;span class="br0" style="color: black; "&gt;(&lt;/span&gt;fname, newfname&lt;span class="br0" style="color: black; "&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;Feel free to use it!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/321608313623202427-4403175101744719959?l=vuladix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vuladix.blogspot.com/feeds/4403175101744719959/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=321608313623202427&amp;postID=4403175101744719959' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/321608313623202427/posts/default/4403175101744719959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/321608313623202427/posts/default/4403175101744719959'/><link rel='alternate' type='text/html' href='http://vuladix.blogspot.com/2010/12/batch-file-renaming-with-python.html' title='Batch File Renaming with Python'/><author><name>vuladix</name><uri>http://www.blogger.com/profile/08174609157735705116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-321608313623202427.post-4739350683414014359</id><published>2009-10-29T00:03:00.000-07:00</published><updated>2009-10-29T00:04:34.802-07:00</updated><title type='text'>12 Spieler Online</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_scbn9_hQCU4/Suk-fIhAwhI/AAAAAAAAEOk/GNLsksq_s-g/s1600-h/12.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 214px;" src="http://4.bp.blogspot.com/_scbn9_hQCU4/Suk-fIhAwhI/AAAAAAAAEOk/GNLsksq_s-g/s320/12.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5397914332963062290" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/321608313623202427-4739350683414014359?l=vuladix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vuladix.blogspot.com/feeds/4739350683414014359/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=321608313623202427&amp;postID=4739350683414014359' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/321608313623202427/posts/default/4739350683414014359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/321608313623202427/posts/default/4739350683414014359'/><link rel='alternate' type='text/html' href='http://vuladix.blogspot.com/2009/10/12-spieler-online.html' title='12 Spieler Online'/><author><name>vuladix</name><uri>http://www.blogger.com/profile/08174609157735705116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_scbn9_hQCU4/Suk-fIhAwhI/AAAAAAAAEOk/GNLsksq_s-g/s72-c/12.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-321608313623202427.post-6109721563241730308</id><published>2009-10-25T14:32:00.000-07:00</published><updated>2009-10-25T14:40:39.456-07:00</updated><title type='text'>Quotations</title><content type='html'>Guys, I'm burnt out... I implemented a huge bulk of functionality over the weekend. It's still not completely done and also not really visible... It's just one drop-down box in principle.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;You can now choose what kind of text you'd like to type (not yet available in the multiplayer mode). The possible types are &lt;span class="Apple-style-span" style="font-style: italic;"&gt;random text&lt;/span&gt; and &lt;span class="Apple-style-span" style="font-style: italic;"&gt;quotations. &lt;/span&gt;Quotations are texts I copy&amp;amp;pasted from amazon from different books and their descriptions.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I really hope this will make the game more fun! So, let's typerace, folks!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/321608313623202427-6109721563241730308?l=vuladix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vuladix.blogspot.com/feeds/6109721563241730308/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=321608313623202427&amp;postID=6109721563241730308' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/321608313623202427/posts/default/6109721563241730308'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/321608313623202427/posts/default/6109721563241730308'/><link rel='alternate' type='text/html' href='http://vuladix.blogspot.com/2009/10/quotations.html' title='Quotations'/><author><name>vuladix</name><uri>http://www.blogger.com/profile/08174609157735705116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-321608313623202427.post-8514354006541508028</id><published>2009-09-27T13:34:00.000-07:00</published><updated>2009-09-27T13:37:08.968-07:00</updated><title type='text'>Historical High</title><content type='html'>Thursday, September 24th was a historical high of the visitor count: 197!&lt;br /&gt;The reason were a couple of links in popular blogs.&lt;div&gt;I still haven't found a sustainable marketing strategy, but I have a hope that I'm on a right way...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/321608313623202427-8514354006541508028?l=vuladix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vuladix.blogspot.com/feeds/8514354006541508028/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=321608313623202427&amp;postID=8514354006541508028' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/321608313623202427/posts/default/8514354006541508028'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/321608313623202427/posts/default/8514354006541508028'/><link rel='alternate' type='text/html' href='http://vuladix.blogspot.com/2009/09/historical-high.html' title='Historical High'/><author><name>vuladix</name><uri>http://www.blogger.com/profile/08174609157735705116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-321608313623202427.post-50669594274456475</id><published>2009-09-18T04:00:00.000-07:00</published><updated>2009-09-18T04:03:26.470-07:00</updated><title type='text'>5 players online!</title><content type='html'>&lt;div&gt;Folks, I have visitors! Look:&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_scbn9_hQCU4/SrNo0Zh8KEI/AAAAAAAAENU/N-L7eVKMs-M/s1600-h/1.JPG" style="text-decoration: none;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;img style="text-decoration: underline;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 224px; " src="http://3.bp.blogspot.com/_scbn9_hQCU4/SrNo0Zh8KEI/AAAAAAAAENU/N-L7eVKMs-M/s320/1.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5382761229053601858" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/321608313623202427-50669594274456475?l=vuladix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vuladix.blogspot.com/feeds/50669594274456475/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=321608313623202427&amp;postID=50669594274456475' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/321608313623202427/posts/default/50669594274456475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/321608313623202427/posts/default/50669594274456475'/><link rel='alternate' type='text/html' href='http://vuladix.blogspot.com/2009/09/5-players-online.html' title='5 players online!'/><author><name>vuladix</name><uri>http://www.blogger.com/profile/08174609157735705116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_scbn9_hQCU4/SrNo0Zh8KEI/AAAAAAAAENU/N-L7eVKMs-M/s72-c/1.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-321608313623202427.post-9184661643206398791</id><published>2009-08-26T13:31:00.000-07:00</published><updated>2009-08-26T13:58:10.986-07:00</updated><title type='text'>typeracing.net</title><content type='html'>After a long period of nothing, the ultimative typeracing version two dot oh has been released. The product has been totally re-designed and partially re-implemented (e.g. the server technology has been changed from PHP to Java). New architecture will provide a solid base for various extensions.&lt;br /&gt;&lt;br /&gt;Here are the highlights:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Multiplayer mode: You can now play with your friends&lt;/li&gt;&lt;li&gt;Chat: There's a live chat in the mulitplayer lounge&lt;/li&gt;&lt;li&gt;Internatiolization: An english version of typeracing is now available.&lt;/li&gt;&lt;/ul&gt;The future plans are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Further languages (Russian, French, Spanish, Chinese)&lt;/li&gt;&lt;li&gt;Registration&lt;/li&gt;&lt;li&gt;Expansion onto each desktop and replacement of competitors like google, amazon, facebook, microsoft and others :D&lt;/li&gt;&lt;/ul&gt;Links:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;German version: &lt;a href="http://typeracing.de"&gt;http://typeracing.de&lt;/a&gt;&lt;/li&gt;&lt;li&gt;English version: &lt;a href="http://typeracing.net"&gt;http://typeracing.net&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;See you!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/321608313623202427-9184661643206398791?l=vuladix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vuladix.blogspot.com/feeds/9184661643206398791/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=321608313623202427&amp;postID=9184661643206398791' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/321608313623202427/posts/default/9184661643206398791'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/321608313623202427/posts/default/9184661643206398791'/><link rel='alternate' type='text/html' href='http://vuladix.blogspot.com/2009/08/typeracingnet.html' title='typeracing.net'/><author><name>vuladix</name><uri>http://www.blogger.com/profile/08174609157735705116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-321608313623202427.post-1832547541912735018</id><published>2008-11-13T04:34:00.000-08:00</published><updated>2009-02-12T10:25:01.031-08:00</updated><title type='text'>typeracing.de</title><content type='html'>Hello world!&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Meine neue Webseite ist online: &lt;a href="http://typeracing.de/"&gt;www.typeracing.de&lt;/a&gt;! Ich bin gespannt wie lange es dauert bis Google diesen Link findet... &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Die Anzahl der Besucher steigt aber auch ohne google mit unglaublicher Geschwindigkeit: von 8 Besucher vorgestern auf 11 gestern!!!&lt;/div&gt;&lt;br /&gt;&lt;div&gt;:-]&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/321608313623202427-1832547541912735018?l=vuladix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vuladix.blogspot.com/feeds/1832547541912735018/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=321608313623202427&amp;postID=1832547541912735018' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/321608313623202427/posts/default/1832547541912735018'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/321608313623202427/posts/default/1832547541912735018'/><link rel='alternate' type='text/html' href='http://vuladix.blogspot.com/2008/11/typeracingde.html' title='typeracing.de'/><author><name>vuladix</name><uri>http://www.blogger.com/profile/08174609157735705116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-321608313623202427.post-4145660466519915829</id><published>2008-10-08T14:19:00.001-07:00</published><updated>2008-10-09T13:54:15.703-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='первый'/><title type='text'>Проба пера</title><content type='html'>Хеллоу ворлд!&lt;br /&gt;Мой первый блог&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/321608313623202427-4145660466519915829?l=vuladix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vuladix.blogspot.com/feeds/4145660466519915829/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=321608313623202427&amp;postID=4145660466519915829' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/321608313623202427/posts/default/4145660466519915829'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/321608313623202427/posts/default/4145660466519915829'/><link rel='alternate' type='text/html' href='http://vuladix.blogspot.com/2008/10/blog-post.html' title='Проба пера'/><author><name>vuladix</name><uri>http://www.blogger.com/profile/08174609157735705116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
