python例子
情景一:
在文件夹里有六十多个RM格式的视频文件,我现在需要把它们的文件名都提取出来,并去掉文件的扩展名,以便放到需要的网页里。
应该有什么软件可以完成这个简单的要求,可是一时间到哪里去找这 样一个符合要求的软件呢?总不能手工完成把。在Linux上用强大的shell脚本应该也可以完成,可是使用Windows的朋友呢?其实象这样一个简单 任务用Python这个强大脚本语言只要几条语句就可以搞定了。个大家知道,要完成这样一个任务根本不用动用C/C++或Java这样的大家伙。
好来看看Python的身手,用自己喜欢的文本编辑器或者直接使用安装包自带的IDE都可以:
# --- picknames.py ---
import os
filenames=os.listdir(os.getcwd())
for name in filenames:
filenames[filenames.index(name)]=name[:-3]
out=open('names.txt','w')
for name in filenames:
out.write(name+'\n')
out.close()
句字不多,一句句看。
# --- picknames.py --- 是注释行,Python是用#作为注释符的,每行注释的开始都要添加。Python的源代码是一扩展名py结尾的。
import os和其他大多数语言一样,导入os这个函数库,在Python的术语里叫模块。
下 面一句稍复杂一点用到了两个os模块里的函数,在调用的时候用os.限定。os.getcwd()的作用是返回一个表示当前工作目录的字符串,若是在 D:\python目录下执行该程序则此函数返回的就是"D:\python"。程序中将此字符串在作为参数传递给os.listdir()函数,它的作 用是返回一个参数所指定目录的所有文件名字符串的列表,如果目录内有文件file1.rm file2.rm file3.rm,则返回值是['file1.rm','file2.rm','file3.rm']。列表Python里最常用的内建数据类型之一,他 用[]表示,其中的元素用逗号隔开。元素可以是各种数据类型,整形、字符串,也可以是一个列表。Python是动态脚本语言,不需要申明变量就可以直接使 用,所以filenames=os.listdir(os.getcwd())将当前工作所有文件名字符串的列表赋值给变量filenames。
for name in filenames:
filenames[filenames.index(name)]=name[:-3]
这 里大家一看就知道是一个for循环,可是Python里的for循环与C语言和Java等其他一些语言中的不完全一样。这里的循环用in关键字将 filenames中的元素依次赋给局部变量name,所以一循环一次name就能得到一个文件名字符串,这样我们就可以历遍所有的文件名了。fo
相关文档:
最近,想在我的YouMoney(http://code.google.com/p/youmoney/)里面增加提取用户操作系统版本信息。比如windows用户,可能要返回Windows XP ,或者Windows 2003, 苹果用户应该返回Mac OS X 10.5.8。用了很多办法,包括在mac系统里调用系统命令,取环境变量,等等。最后无意发现,原来python里里面有个pl ......
2008-12-21
python类型转换、数值操作
关键字: python类型转换、数值操作
python类型转换
Java代码
函数 描述
int(x [,base ])   ......
python字典排序
1、
准备知识:
在python里,字典dictionary是内置的数据类型,是个无序的存储结构,每一元素是key-value对:
如:dict = {‘username’:‘password’,‘database’:‘master’},其中‘username’和& ......
#shell排序
def ShellPass(mylist, d):
size = len(mylist)
i = d
while i < size:
if mylist[i] < mylist[i - d]:
tmp = mylist[i]
j = i - d
mylist[j + d] = mylist[j]
j = j - d
while j >= 0 and mylist[j] > ......
def MergeSort(mylist, low, mid, high):
i = low
j = mid + 1
tmp = []
while i <= mid and j <= high:
if mylist[i] <= mylist[j]:
tmp.append(mylist[i])
i = i + 1
else:
tmp.append(mylist[j])
j = j + 1
......