Python学习笔记 模块;文件与文本处理
1.Python中时间函数有几种不同的表示方法。一种是基于数字的表示方法,另外一种是用一系列值来表示,第三种是用ASCII码字符串的可读形式来表示的元组。 time()函数返回的是从某一时间点算起的秒数,该数值是一个浮点数。根据操作系统的不同,这个时间点也不同。通过求localtime(0)的值可以找到系统的该时间点。 localtime(t)返回一个具有9个元素的元组。 ctime(t)返回一个表示时间值的ASCII码的字符串,t作为浮点型数值传递给函数。 >>> import time
>>> print time.ctime(0)
Thu Jan 01 08:00:00 1970 >>> print time.localtime(0)
(1970, 1, 1, 8, 0, 0, 3, 1, 0)
>>> 2.Python中只允许通过值来传递变量,但在其他语言中,允许通过引用来传递变量。在这种情况下,可以在函数内部改变参数值。而且改变将对调用程序产生影响。 3.处理二进制文件:二进制文件中,字符不是用可识别的行结束符按行来组织的。这样,对二进制文件进行处理的方式,跟对文本文件进行处理的方式有所不同。首先,如果要对二进制文件进行操作的话,必须在open函数中的打开模式参数中附加一个字母"b”来加以指定。 >>> b_out=open("D:\\outbin.dat","wb") 若要写入二进制数据,需要用struct模块包装数据,可参考python库中有关struct的所有可能的操作。 >>> b_out.write(struct.pack('4i',1,2,3,4))
>>> b_out.close() 读二进制文件时需要指定读出数据的数量,可以在read()方法中使用可选择的长度变量来指定。 >>> b=open("D:\\outbin.dat","rb")
>>> bytes=b.read(4) 在打印这些字节之前,需将它们转换成可打印的形式。ord()函数可以执行该项执行:
>>> for c in bytes:print ord(c) 1
0
0
0 问题:为什么输出的不是1 2 3 4? 4.如果要在Python中创建一个COPY命令,可以以写模式另外打开一个文件,然后将原文件内容逐行写入新打开的文件中,而不是将文件内容打印出来。 #创建与copy menu.txt menu.bak等效的命令 #分别以读模式和写模式打开文件 inp=open(“D:\\menu.txt”,"r”) outp=open(“menu.bak”,"w”) #逐行读文件直到结束 #将每行拷贝到输出文件 line=inp.readline() while line: outp.write(line)
相关文档:
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] > ......
1. Building an Application with PyGTK and Glade
2. Creating a GUI using PyGTK and Glade
3. A Beginner's Guide to Using pyGTK and Glade
4. Is there a walkthrough on getting PyGTK2 and libglade2 to work on win32 ......
只需要在文件中import与你写的文件的文件名一致的模块名即可,这时python会为你创建一个pyc文件的。
即,如果你已经写了一个名为ssss.py的文件,而现在你需要在名为aaaa.py的文件中使用ssss.py中定义的方法,那么你只需要在aaaa.py中加入import ssss,然后你就可以在aaaa.py中使用ssss.py中的方法(当然方法前需要加模块名 ......