[python]打印-Hello world

学习python首先得找个顺手的编辑器。这里编辑器选择了Sublime Text2,原因是符合Windows下操作习惯,美观,方便。当然,也可以选择vim或Notepad++。

python的版本选择到现在是新手新项目一般都建议python3,不过很多python库至今都没有迁移或没完成迁移到python3的工作,很多应用系统也都还停在使用python2的阶段,python3似乎目前的版本并没有太多让这些应用迁移的动力。

这里,先学习python2.6吧,应用就使用这个版本。

新建文件,保存为p001.py。 输入:

print "Hello world!"

保存,再按Ctrl-B,可以直接在编辑器下方看到输出结果。

enter image description here

加段注释吧:

"""这是第一个python程序
用于打印一个字符串
很简单的入门小程序
"""
print "Hello world!"

再运行,结果有些悲剧:

File "H:\python\p001.py", line 1 SyntaxError: Non-ASCII character '\xe8' in file H:\python\p001.py on line 1, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details [Finished]

仅仅只是加个多行注释,就出错了。查看PEP-0263可得知原因,是python对源码的字符编码说明有要求,要求在源码开始加上对代码运行和字符编码的说明。类似这样:

#!d:/python26/python
# -*- coding: utf-8 -*-

第一行是描述python解析器在什么位置;第二行是说明本代码使用什么字符编码,因为ST2缺省就是utf-8无BOM,所以这选择utf-8。python中所支持的字符集编码可以查看这里

再次运行,一切正常了。

再把打印的字符串后面加上中文试试:

#!d:/python26/python
# -*- coding: utf-8 -*-

"""这是第一个python程序
用于打印一个字符串
很简单的入门小程序
"""
print "Hello world! 你好,世界!"

输出结果为:

Hello world!你好,世界!

但我们切换到命令行,通过命令

python p001.py

悲剧了:

Hello world!浣犲ソ锛屼笘鐣岋紒

是的,在ST2里显示正常的输出,在console里汉字显示为乱码。

想一想,我们的源码是utf-8,ST2缺省对字符的处理都是使用UTF-8,所以汉字显示正常。但我们Windows XP或Win7是中文环境,在console中执行时,输出字符应该输出GBK或GB18030才能正常显示。

我们得保证代码在两种情况下得到一致的结果。

于是得让ST2输出字符编码为GBK或GB18030。

修改Packages/Python/Python.sublime-build :

//  "cmd": ["python", "-u", "$file"],
    "cmd": ["d:/python26/python.exe", "-u", "$file"],
//  "cmd": ["f:/python3/python.exe", "-u", "$file"],
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python",
    "encoding": "gbk" }  

再切换到p001.py源码编辑区,按Ctrl-B,得到:

Hello world!浣犲ソ锛屼笘鐣岋紒

[Finished]

输出是乱码,这似乎是更糟了,但与console下的结果一样了。

我们接着修改源码:

#!d:/python26/python
# -*- coding: utf-8 -*-

"""这是第一个python程序
用于打印一个字符串
很简单的入门小程序
"""
print "Hello world!你好,世界!".decode('utf-8').encode('gbk')

再次运行:

Hello world!你好,世界!

[Finished]

在cmd中执行,也得到同样的结果。

在python2中,内部对字符使用unicode进行处理,所以,我们先得对utf-8编码的字符串decode,转换成unicode,再encode转换成gbk,这样就可以在中文Windows下正常显示输出了。

(升级到python3后,这个问题的解决方式有所变化)

[转载]不得不收集一些身份证

来源:http://jzg620.blog.hexun.com/61146428_d.html

有很多游戏在注册的时候需要填写身份证号,但是有些未成年人却没有身份证号,或者说是还没有来得及注册身份证号。现在我提供一批身份证号码,有些还是万能身份证号哦,姓名可以随便起的,很适合“百度说吧”的注册哦。想注册百度说吧,没有身份证号的话,这个文章是你指的推荐的!废话不多说,直接上身份证号码!(热门资讯网提供)

玩游戏用的免费万能身份证号:身份证挂失;身份证丢失;身份证申请作废,请在此文后留言。

- 阅读剩余部分 -

[转载]Windows 7自动播放对话框丢失解决办法

来源:http://www.derekblog.com/2011/06/11/windows-7-autorun-not-working/

这段时间来,每次我插入U盘或SD卡发现自动播放对话框并不自动弹出了,莫名其妙的自己消失了,我觉得自动播放功能相当好用,给我带来了很大的方便。既然自动播放对话框不能工作了,那我就用 Google 搜索了下,总算找到办法搞定了,下面是解决过程。

自动播放对话框丢失解决办法

关键句:Windows 7自动播放对话框丢失解决办法,CD、DVD无法自动运行解决办法。

1.自动播放的问题,首先我们可以到新账户中打开“控制面板”-“自动播放”的“媒体”列表下来查看您当前每个类型的媒体自动播放是如何设置的。或者直接点击“自动播放”中的“重置所有默认值”。

2.把 Shell Hardware Detection 服务启动并设置为自动,开始菜单 -> 运行 -> services.msc -> 找到 Shell Hardware Detection 服务。

3.在 Windows 7 资源管理器下,按下 Alt 键在弹出的菜单中选择“工具→文件夹选项”,在打开的“文件夹选项”对话框中切换到“查看”选项卡,取消 Windows 7 系统默认勾选的“隐藏计算机文件夹中的空驱动器”。

4.修改组策略设置,在开始菜单 -> 运行 -> gpedit.msc 展开到计算机配置 -> 管理模板 -> Windows组件 -> 自动播放策略,把“关闭自动播放”设置为“已禁用”。

5.使用工具 Rizone CD-DVD Repair (请自行搜索下载)修复 CD、DVD 无法自动播放问题。

6.开始菜单 -> 运行 -> regedit,打开注册表定位至以下位置,

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\CDRom

在注册表右侧找到 AutoRun 键值,双击修改 AutoRun 键值,请确认键值是否为1,表示启动自动播放,如果键值为0,表示禁用CD-ROM 或 DVD-ROM 自动播放。如果键值为0,请把它改为1。
7.打开注册表一下两个位置,定位至 NoDriveTypeAutoRun 键值,双击NoDriveTypeAutoRun 键值,选择十进制,不同的值表示含义不同,请参照下表。

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer

含义表

0×00000000 (0)     在所有设备类型上启用所有自动运行和自动播放
0×00000080 (128) 在未知保留的文件类型禁用自动播放
0×00000091 (145) 使用 Windows Vista and Windows 7 默认设置
0×00000095 (149) 使用 Windows XP 默认设置
0×000000B5 (181) 在CD-ROM 或 DVD-ROM 上禁用自动运行,,包括未知设备、可移动磁盘、网络设备
0×000000FF (255) 在所有设备类型上禁用自动播放和自动运行

因此 NoDriveTypeAutoRun 最佳设置办法是在Windows 7/Vista系统设置为 0×00000091 (十六进制) or 145 (十进制),Windows XP 系统设置为 0×00000095 (十六进制) or 149 (十进制)。当然如果嫌麻烦就通通设置为0吧,在所有设备类型上启用所有自动运行和自动播放。如果没有 NoDriveTypeAutoRun 键值,请自行新建一个 NoDriveTypeAutoRun 键值。

8.卸载冲突的软件,请先回忆安装了什么软件后在自动播放对话框无法弹出,如Nero, PowerISO, MagicISO, Alcohol 120%, Motorola driver software, VMWare Server, VMWare Workstation 都可能造成此问题,粗体注明软件表示有先例出现。

9.如果上述办法还不行,请把注册表下面位置的选项全部删除(不建议,建议先备份),如果你懂查看的话,请删除一些软件的安装项目,因为某些软件的安装会导致自动播放对话框无法弹出,如VMware。

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\

10.请记得修复后重启系统才可能生效。

vps备份方案的选择--dropbox

vps的定期备份是一件很必要的工作。大多数idc并没有提供免费的vps备份空间,这就需要我们自己来完成这个工作了。

一般情况下,得自己打包需要备份的数据,然后下载到本地,但这太麻烦。也有人通过lftp及脚本工具将需要备份的数据上传到某些ftp服务器上,但这也不稳妥。想找个稳妥的方法似乎只能出钱买备份空间了。

还好Dropbox提供了比较大的免费空间来让我们备份数据,申请了帐号后,只有2G空间,但可以很容易的扩展到20G左右,用来备份vps上的程序和数据也够了。如果需要更大的空间,可以考虑购买。

当然,靠谱的网盘有不少,但使用起来方便的并不多。这里就只考虑dropbox了。

在vps里的安装方法很简单,官方的说明在这里:https://www.dropbox.com/install?os=lnx

步骤如下:

cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86" | tar xzf -

这会在vps服务器上当前用户目录下创建.dropbox-dist目录并解压所有所需文件。

接下来运行dropboxd

~/.dropbox-dist/dropboxd

它会自动在用户目录下创建Dropbox目录。

- 阅读剩余部分 -

程序员应该了解的一些延迟时间

网上正好在热议开发人员应该了解的一些延迟时间数据,小结如下:

L1 cache reference                          0.5 ns
Branch mispredict                             5 ns
L2 cache reference                            7 ns             14x L1 cache
Mutex lock/unlock                            25 ns
Main memory reference                       100 ns             20x L2 cache, 200x L1 cache
Compress 1K bytes with Zippy              3,000 ns
Send 1K bytes over 1 Gbps network        10,000 ns    0.01 ms
Read 1 MB sequentially from memory      250,000 ns    0.25 ms
Round trip within same datacenter       500,000 ns    0.5  ms
Read 1 MB sequentially from SSD       1,000,000 ns    1    ms  4X memory
Disk seek                            10,000,000 ns   10    ms  20x datacenter roundtrip
Read 1 MB sequentially from disk     20,000,000 ns   20    ms  80x memory, 20X SSD
Send packet CA->Netherlands->CA     150,000,000 ns  150   ms

来源 :https://gist.github.com/2841832