Hello Python!
本文介绍了我写的第一个python程序学习的相关模块内容,记录我编写的第一个python程序所学到的知识,只要包括基本语法和字符串、文件和时间的常见操作。
Python环境
下载的地址是:
运行环境可以是linux或者是windows:
1、linux
redhat的linux安装上去之后一定会有python的(必须的组件),在命令行中输入python回车。这样就可以进入一个
>>>的提示符
2、windows
安装好了python之后,在开始菜单里面找到Python2.3->IDLE,运行也会进入一个有>>>提示符的窗口
基本语法
Python中,if/elif/else/for…in/while后面都是使用冒号":",使用缩进而不是花括号表示判断或循环体。
常用的还有:
布尔值为True和False(首字母大写)
in :判断一个元素是否在一个集合(元组、列表)中,返回Ture或False
is:判断两个变量是否指向同一地址,==比较变量是否相等
del:删除元素(del a[0])
break/continue和C中一样。
字符串操作
复制字符串=
连接字符串+=
查找字符串:str.index(str2)
比较字符串cmp(str1,str2)
扫描字符串是否包含指定字符串str1 in str2
小写转换大写:str.upper()
追加制定长度:str1+=str2[0:n]
分割字符串str.split('str2')
文件操作
打开文件
[py]
f=open("d:\1.txt",'r')
[/py]
或:
[py]
out=file("d:\2.txt","w")
[/py]
好像两种方法都一样。
然后读文件有:
[py]
con=f.read()#读文件
con=f.readlines()#按行读文件,读出来的文件是一个数组,每行为一个元素
con=f.readline()#读一行文件,并将光标下移一行
[/py]
写文件
[py]
f.write(content)
f.close()
[/py]
时间操作
时间可以表示为Unix格式的时间值(1970.1.1到现在经过的秒数),或者一个时间的结构
使用time模块前要import time
获得当前时间值:time.time()
格式化输出时间:time.strftime("%y/%m/%d",now)
将字符串转化为时间对象:strptime("31 Nov2000", "%d %b 20%y")注意,年的数值没有20,如2010年,python认为是10年。
同时,要使用strptime,要确认是否存在该函数,使用以下代码
[py]
try:
strptime = time.strptime
except AttributeError:
from strptime import strptime
[/py]
将时间值转换为时间元组tm = time.localtime(t)
将时间元组转换为时间值:time.mktime(tm)
黏贴一下我的python代码,扫描一个txt文件,根据每行时间信息筛选信息,将符合要求的信息复制到另一个文件
[py title="example.py"]
import time
import strptime
try:
strptime = time.strptime
except AttributeError:
from strptime import strptime
f=open("d:\1totalCheckins.txt",'r')
out=file("d:\1out.txt","w")
第一行,把时间值存储在lastt中,初始化
lastline=f.readline()
arr=lastline.split('\t')
print arr
lastt=time.mktime(strptime(arr[1],"20%y-%m-%dT%H:%M:%SZ"))
lastflag=True
i=0
后面的每行与前一行判断,如果user相同且时间在五分钟之内,则放弃,否则写入到out。txt中
(默认为不同用户之间最早的和最晚的签到时间不可能在五分钟之内)
while True:
line=f.readline()
arr=line.split('\t')
i=i+1
? ? ??if i%1000==0:
? ? ??? ? ??print i,":",arr
? ? ??#获得时间值
? ? ??intt=time.mktime(strptime(arr[1],"20%y-%m-%dT%H:%M:%SZ"))
? ? ??if lastt-intt>300:
? ? ??? ? ??if lastflag:
? ? ??? ? ??? ? ??out.write(lastline)
? ? ??? ? ??lastflag=True
? ? ??else:
? ? ??lastflag=False
? ? ??lastt=intt;
? ? ??lastline=line;
? ? ??if("xx" in arr[4]):
? ? ??? ? ??print "end:",arr[4],"len:",len(arr[4] and "xx")
? ? ??? ? ??break
out.flush();
out.close();
[/py]