Dec 4, 2008

使用 Grub For Dos

以前大多用WinGrub 也用过两次Grub4dos

WinGrub容 易,有GUI自己设置一下就OK

Grub4dos其 实也很容易

  解压
  放系统盘
  把grldr拷贝到系统盘根目录
  修改boot.ini ,最后一行添加:
  C:\grldr="Grub4Dos"

Ubuntu 8.04 LAMP 搭建

软件安装:
sudo apt-get install apache2 php5 libapache2-mod-php5 mysql-server
libapache2-mod-auth-mysql libapache2-mod-auth-mysql

设置域名,编辑/etc/apache2/httpd.conf 添加
ServerName ox0spy.org

匹配ip地址的python正则表达式

pattern =
'^([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])$'

Python 文件操作

1. 常规操作 -file 类
常用于文件读写操作
常用方法: file, open, read, readline(), readlines(),write(),
writelines(), seek(), tell(),flush(), close()
属性:name, mode, isatty, closed

2. 获取文件信息:os, stat, time
os.stat()
os.lstat()

stat模块获取详细文件信息

fileStats = os.stat(filename)
fileInfo = {
'Size' : fileStats [ stat.ST_SIZE ],
'LastModified' : time.ctime ( fileStats [ stat.ST_MTIME ] ),
'LastAccessed' : time.ctime ( fileStats [ stat.ST_ATIME ] ),
'CreationTime' : time.ctime ( fileStats [ stat.ST_CTIME ] ),
'Mode' : fileStats [ stat.ST_MODE ]
}

3. 通过os.path获取一些文件信息
文件是否存在、是否是一个目录、...
获取文件大小、创建、访问、修改时间

4. 目录操作
os.listdir(dir)
os.mkdir(dir)
os.rmdir(dir)
os.mkdirs(dirs) # mkdir -p
os.rmdirs(dirs) # rm -r

5. 对不同类型的文件进行操作:fnmatch
import os, fnmatch

for filename in os.listdir('.'):
if fnmatch.fnmatch(filename, '*.py'):
print open(filename).read()
elif fnmatch.fnmatch(filename, '*.sh'):
print filename
elif fnmatch.fnmatch(filename, '?.txt'):
print 'Text file :', filename

*代表匹配所有字符,?匹配一个任意字符

在"fnmatch"模块,我们可以创建正则表达式来应用,只要通过 "re" 模块:
import fnmatch
import os
import re
filePattern = fnmatch.translate ( '*.txt' )
for fileName in os.listdir ( '/' ):
if re.match ( filePattern, fileName ):
print 'Text file.'


如果想从一个目录下搜索一种类型的所有文件,使用glob:
glob(pathname)
Return a list of paths matching a pathname pattern.

#!/usr/bin/env python
import glob
for filename in glob.glob('[0-9].txt'):print filename


6. 序列化数据
pickle, cpickle

#!/usr/bin/env python
import pickle
fileHandle = open('pickleFile.txt', 'w')
thisList = ['This', 2, 'is', 1, 'a', 'test']
pickle.dump(thisList, fileHandle)
fileHandle.close()

解序列
#!/usr/bin/env python
import pickle
fileHandle = open('pickleFile.txt', 'r')
thisList = pickle.load(fileHandle)
fileHandle.close()

7. 内存文件:StringIO, cStringIO

a small tip : print >> f, a_string 等价于 f.write(a_string + '\n')

windows 命令行、批处理资源

http://www.ss64.com/nt/
http://www.sysinternals.com/
http://www.nirsoft.net/
http://www.diamondcs.com.au/

Django manage.py 能做什么

创建项目
django-admin startproject projectName

在创建的项目下有:__init__.py, manage.py, settings.py, urls.py

下面主要看看manage.py 的用途:
manage.py 提供一些简单的管理功能,有:
1) 创建应用
./manage.py startapp appName

2) 验证models.py 书写是否正确
./manage.py validate

3) 根据models.py打印用于创建表的sql 语句
./manage.py sqlall dbName

4) 根据models.py创建表
./manage.py syncdb

5) ./manage.py shell 类似于 执行 python

6) ./manager.py dbshell 类似于 mysql -u username -p (其中username 是
settings.py 中设置的)

python md5

import md5
hash = md5.new()
hash.update('test')
hash.hexdigest()

调用Django 日期控件

<script type="text/javascript" src="/admin/jsi18n/"></script>
<script type="text/javascript" src="/media/js/core.js"></script>
<script type="text/javascript" src="/media/js/calendar.js"></script>
<script type="text/javascript"
src="/media/js/admin/DateTimeShortcuts.js"></script>

<input name="date" value="{%now "Y-m-d"%}" class="vDateField" type="text"
id="query_date" size="10" />

Dec 3, 2008

校内网 相册 批量 下载

校内网 相册 批量下载

python 练手
环境ubuntu 8.04
windows 用户应该会产生乱码,可以自己在程序中几个关键位置加上
.decode('UTF-8').encode('GBK')

功能:
1. 下载校内指定用户的全部相册
2. 下载指定用户的某一个指定相册



============== 很傻,很天真的分割线 ================


代码:

http://ox0spy.googlepages.com/xiaonei.py

Dec 2, 2008

苏格拉底与失恋者的对话

失恋者:"我失恋了。"

苏格拉底:"哦,这很正常。如果失恋了没有悲伤,恋爱大概也就没有什么味道
了。可是,年轻人,我怎么发现你对失恋的投入甚至比你对恋爱的投入还要倾心呢?"

失恋者:"到手的葡萄给丢了,这份遗憾,这份失落,您非个中人,怎知其中的酸
楚啊。"

苏格拉底:"丢了就丢了,何不继续向前走去,鲜美的葡萄还有很多。"

失恋者:"我要等到海枯石烂,直到她回心转意向我走来。"

苏格拉底:"但这一天也许永远不会到来。"

失恋者:"那我就用自杀来表示我的诚心。"

苏格拉底:"如果这样,你不但失去了你的恋人,同时还失去了你自己,你会蒙受
双倍的损失。"

失恋者:"您说我该怎么办?我真的很爱她。"

苏格拉底:"真的很爱她?那你当然希望你所爱的人幸福?"

失恋者:"那是自然。"

苏格拉底:"如果她认为离开你是一种幸福呢?"

失恋者:"不会的!她曾经跟我说,只有跟我在一起的时候,她才感到幸福!"

苏格拉底:"那是曾经,是过去,可她现在并不这么认为。"

失恋者:"这就是说,她一直在骗我?"

苏格拉底:"不,她一直对你很忠诚的了。当她爱你的时候,她和你在一起,现在
她不爱你,她就离去了,世界上再也没有比这更大的忠诚。如果她不再爱你,却要
装着对你很有感情,甚至跟你结婚、生子,那才是真正的欺骗呢。"

失恋者:"可是,她现在不爱我了,我却还苦苦地爱着她,这是多么不公平啊!"

苏格拉底:"的确不公平,我是说你对所爱的那个人不公平。本来,爱她是你的权
利,但爱不爱你则是她的权利,而你想在自己行使权利的时候剥夺别人行使权利的
自由,这是何等的不公平!"

失恋者:"依您的说法,这一切倒成了我的错?"

苏格拉底:"是的,从一开始你就犯错。如果你能给她带来幸福,她是不会从你的
生活中离开的,要知道,没有人会逃避幸福。"

失恋者:"可她连机会都不给我,您说可恶不可恶?"

苏格拉底:"当然可恶。好在你现在已经摆脱了这个可恶的人,你应该感到高兴,
孩子。"

失恋者:"高兴?怎么可能呢,不过怎么说,我是被人给抛弃了。"

苏格拉底:"时间会抚平你心灵的创伤。"

失恋者:"但愿我也有这一天,可我第一步应该从哪里做起呢?"

苏格拉底:"去感谢那个抛弃你的人,为她祝福。"

失恋者:"为什么?"

苏格拉底:"因为她给了你忠诚,给了你寻找幸福的新的机会。"

说完,苏格拉走了。

----------
*祝你幸福*
----------

2008 11 29
给家里打个电话,我妈一接电话就说你是不是病了

然后和我妹聊了很久

2008 11 30

找了点做老师的感觉
(王亮, 温锴) 宁大 10:30

2008 12 1

勾起宋泽的伤心事,内疚啊,还好早上说不辞职了
给Yang打电话,好像手机没在身边

给水水打,他愣要我再给xx打个电话

贺伟也是,聊了n久,后来说俺一根经,后来和朋友继续喝酒
(王亮, 杜娜, 毛毛, 茄哥, 唐莉) 紫园 良田路 0:30