- 博客(54)
- 收藏
- 关注
【Python】修改文件并立即写回到原始位置(inplace读写)
很多应用多需要处理文件,而处理文件有一个固定的模式:打开文件,读入一些数据,处理这些数据,打印到屏幕上或写入另一个文件。那么,如果我们想修改之后立即写回文件,该怎么做呢?用什么模式打开?又怎么读写?我个人尝试了很多中方法,不是无法实现,就是操作非常麻烦。最终放弃。幸运的是,Python内置模块fileinput就可以轻松完成。代码如下: import fileinput...
2012-07-31 07:52:01 453
【Python】二进制文件与Base64编码文本文件转换
前面的话Python内置的base64模块,在这里http://docs.python.org/library/base64.html?highlight=base64#base64,包括b64encode,b64decode,urlsafe_b64decode等,可以满足包括URL在内的文本编码需要。但是在用base64.encode编码二进制文件的时候,发现编码不完整,只有部分文件被编码了...
2012-07-29 18:06:33 983
Python二进制文件与十六进制文本文件转换
Python有一个binhex模块,在http://docs.python.org/library/binhex.html,用来Encode and decode binhex4 files。我没搞懂binhex4格式,搜索了很久,找到一个讲的相对比较好的http://www.5dmail.net/html/2006-3-2/200632222823.htm。控制欲强的人,对未知或不...
2012-07-25 00:14:36 1507
python判断对象是否为文件对象(file object)
方法1:比较type第一种方法,就是判断对象的type是否为file,但该方法对于从file继承而来的子类不适用: [python] view plaincopy>>> f = open(r"D:\2.zip") >>> type(f) <type 'file'> >...
2012-07-20 01:44:43 322
Python字典按值排序、包含字典的列表按字典值排序的方法
#-*- encoding=utf-8 -*-import operator#按字典值排序(默认为升序)x = {1:2, 3:4, 4:3, 2:1, 0:0}sorted_x = sorted(x.iteritems(), key=operator.itemgetter(1))print sorted_x#[(0, 0), (2, 1), (1, 2), (4, 3...
2012-06-19 00:57:18 996
Python单例模式终极版
如果你真的想使用其他编程语言中类似的“单例模式”,你需要看:http://ghostfromheaven.iteye.com/blog/1562618 但是,我要问的是,Python真的需要单例模式吗?我指像其他编程语言中的单例模式。 答案是:不需要! 因为,Python有模块(module),最pythonic的单例典范。 模块在在一个应用程序中只有一份,它本...
2012-06-17 23:16:29 288
原创 Python单例模式的4种实现方法
#-*- encoding=utf-8 -*-print '----------------------方法1--------------------------'#方法1,实现__new__方法#并在将一个类的实例绑定到类变量_instance上,#如果cls._instance为None说明该类还没有实例化过,实例化该类,并返回#如果cls._instance不为None,...
2012-06-17 22:47:38 925
原创 Python分段下载文件
下载较大文件时分段下载会加速下载过程,几乎所有下载软件都有类似的特性。在python中如何实现分段下载文件呢? >>> import urllib2>>> req = urllib2.Request('http://www.python.org/')#下载19000到20000字节的片段>>> req.headers['Ra...
2012-06-17 20:58:05 385
原创 Python如何拉平(flatten)嵌套列表(nested list)
有时候会用到嵌套的列表(list),比如[1, 2, [3, 4, [5, 6]], ["abc", "def"]] 如果将嵌套的列表拉平(flatten)呢?变成:[1, 2, 3, 4, 5, 6, "abc", "def"] 方法有很多,目前了解到的各方面都比较好,也很pythonic的方法是:def flatten(l): for el in l: if ha...
2012-06-15 00:23:35 3889
遍历python字典几种方法
aDict = {'key1':'value1', 'key2':'value2', 'key3':'value3'}print '-----------dict-------------'for d in aDict: print "%s:%s" %(d, aDict[d])print '-----------item-------------'for (k,v) ...
2012-06-03 19:40:39 318
原创 Python 迭代器 iteraor
Python迭代器 iterator--by GhostFromHeaven 迭代器是一个实现迭代器协议的容器对象,它基于两个方法:next 返回容器的下一个元素;__iter__ 返回迭代器本身。迭代器可以通过内置函数iter和一个序列作为参数创建,如下:>>> i = iter('iter')>>> i.next()...
2012-06-03 13:06:28 127
原创 http://download.java.net/jdk/jdk-api-localizations/jdk-api-zh-cn/publish/1.6.0/c
http://www.oracle.com/technetwork/java/javase/downloads/index.html#docsJDK1.6官方下载_JDK6官方下载地址:http://www.java.net/download/jdk6/6u10/promoted/b32/binaries/jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep...
2012-01-27 19:07:28 1148
原创 Ubuntu G++安装
[size=medium]sudo apt-get install make gcc g++再装上函数手册 sudo apt-get install manpages-dev另一方法:sudo apt-get install build-essential 执行完后,完成了gcc,g++,make的安装。 build-essential 是一整套工具,gcc,libc等等[...
2011-12-28 21:07:25 105
原创 Python多线程Socket程序例子
如果没有multitask包,请从[url]http://python-multitask.googlecode.com/files/multitask-0.2.0.zip[/url]下载[url]http://blog.csdn.net/ghostfromheaven/article/details/7061387[/url][size=medium]server端[/size]...
2011-12-11 16:38:45 239
原创 Python 多线程简单例子
[url]http://blog.csdn.net/ghostfromheaven/article/details/7039310[/url][code="Python"]import threadingimport timeclass MyThread(threading.Thread): def __init__(self, threadnum, max):...
2011-12-04 13:58:04 137
定制Ubuntu命令行提示符
[size=medium]安装Ubuntu的时候用户名起的很长,刚开始没怎么注意,命令行用的比较多的时候就发现这真是个失误。命令窗口就那么宽,前面很长都用了现在用户名和主机名了,后面如果再显示路径,剩余可以显示命令的空间就不够了。命令多行输入不方便也不直观,就想修改这个命令提示符。随便搜素了下,果然可以实现,而且非常简单。修改~/.bashrc文件中的PS1即可。PS1是主要的提示...
2011-11-19 00:26:40 276
原创 Windows命令行工具
winver 检查windows版本 wmimgmt.msc 打开windows管理体系结构(wmi) wupdmgr windows更新程序 wscript windows脚本宿主设置 write 写字板 winmsd 系统信息 wiaacmgr 扫描仪和照相机向导 winchat xp自带局域网聊天 mem.exe 显示内存使用情况 msconfig.exe...
2011-10-11 15:23:17 245
原创 使用PDO的PDOStatement 执行多个语句发生错误
[size=medium]使用PDO的PDOStatement 执行多个语句发生错误。所有执行多个语句,就是指在sql语句中有分号";"在一个sql语句写多个语句。[/size][code="php"] $table_name_user = "user"; $sql_create_table_user = " DROP TABLE IF EXISTS {$table_name_user...
2011-04-19 21:17:35 585
原创 PHP5引用不恰当libmysql.dll导致Apache(IIS)崩溃
[size=medium]最近开始学PHP。遇到一点问题,分享一下。[/size][size=medium][b]现象[/b][/size][b][/b][size=medium] 在PHP连接数据库时,会突然发生Apache崩溃的现象。[/size][size=medium] 经检查,发现是因为php5所带libmysq.dll与MySQL安装目录的bin下面...
2011-04-17 21:16:58 133
原创 Android获取sdcard信息
1>实例代码: if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { File path = Environment.getExternalStorageDirectory(); StatFs statFs = new StatFs(path.getP...
2011-04-04 22:11:57 116
原创 Android获取通话状态
[size=medium]1>添加读取手机状态的权限 [/size][code="java"] [/code] [size=medium]2>获取管理手机的系统服务[/size][code="java"]TelephonyManager tm = (TelephonyManager) this.getSystemService(Context.TELEPHONY_S...
2011-04-04 21:08:45 1852
原创 Android 系统服务getSystemService
public Object getSystemService (String name) Since: API Level 1 Return the handle to a system-level service by name. The class of the returned object varies by the requested name. Currently availa...
2011-04-02 21:04:58 98
原创 Android获取SIM卡信息--TelephonyManager
1>获得TelephonyManager TelephonyManager telMgr = (TelephonyManager) getSystemService(TELEPHONY_SERVICE); 2>获取SIM卡状态 telMgr.getSimState(); 3>获取SIM卡卡号 telMgr.getSimSerialNumber(); 4>获取SIM卡供货商号...
2011-04-02 19:37:10 241
原创 Android获取、设置Wifi状态
1>获得WifiManagerWifiManager mWiFiManager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE); 2>获得Wifi状态mWiFiManager.getWifiState() WIFI_STATE_ENABLED 已启动WIFI_STATE_ENABLING...
2011-04-02 19:14:20 168
原创 Android获取、设置桌面
1>添加权限<uses-permission android:name="android.permission.SET_WALLPAPER"></uses-permission>2>设置桌面Resources resources = getResources();InputStream is = resources.openResource(R....
2011-04-02 18:57:40 125
原创 Android SQLite学习工具
Android自带数据库SQLite,是一个超级迷你,但是五脏俱全的开源数据库。经测试,在手机端的效率也非常高。但是在手机上设置测试比较麻烦。可以下载一个shell终端来测试。 在附件里。 ...
2011-03-27 19:01:23 80
原创 自定义程序实现Android EditText只允许输入指定字符
程序设计的很多地方都要用到一个小技术:指定文本框的输入类型。即限制只能输入某几类或某类字符,甚至是某几个字符。Android本身已经做了很多设计,如限制长度,限制只能输入整数或数字。有时候这些还是不够的。我们可以在程序中根据需要自己定制。主要涉及:EditText.addTextChangedListener,EditText.removeTextChangedListener,EditText....
2011-03-24 19:18:44 146
原创 Android EditText禁止输入中文字符
只允许EditText输入数字或者email格式字符是非常简单的(详见API文档)。要实现只允许输入自定的数字字符也是很容易的(详见API文档,setKeyListener(KeyListener) 和setFilters (InputFilter[] filters) )。但是要限制只能输入指定的字母字符就非常的困难。/**InputFilter[] ifs = {new In...
2011-03-24 16:51:50 647
原创 Android控制屏幕方向的改变
目前大多数手机都支持 重力感应 ,随之而来的就是屏幕方向改变的问题。很多游戏都是仅横屏展示的,也有一些是仅竖屏展示的,更多的是横屏竖屏都可以的。 对应普通开发者来说,屏幕的随意改变也会带来困扰。在Google自带的doc里可以看到 如果设备的配置(在 Resources.Configuration 中进行了定义)发生改变,那么所有用户界面上的东西都需要进行更新,以适...
2011-03-19 16:05:35 316
原创 Android 自定义拨打电话程序段
[code="java"]strInput = "13912345678";//电话号码//新建实例Intent myIntentDial = new Intent("android.intent.action.CALL",Uri.parse("tel:" + strInput));//开始实例startActivity(myIntentDial);[/co...
2011-03-17 14:09:22 158
原创 MySQL5数据库完美解决中文字符乱码问题(Windows)
[size=medium] 用root用户登录MySQL1>查看当前编码格式 >show variables like 'character%'; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+...
2011-03-16 12:09:46 245
原创 Eclipse设置行宽Maximum line width
[size=medium]·依次展开Window->Preferences->Java->Code Style->Formatter[img]http://dl.iteye.com/upload/picture/pic/84089/8f7f1d52-6520-302a-909b-b76bd47ada10.jpg[/img]·在右边窗口中找到Edit·找到Line Wrapp...
2011-03-16 11:23:47 327
原创 k-均值算法的java实现
[code="java"]import java.io.BufferedReader;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;public class KAverage { private int sampleCount = 0;...
2010-12-24 22:27:34 306
原创 注册表Win7修改右键菜单
[size=medium](1)按下键盘上的win键+R键在运行框,输入regedit,打开注册表(2)导出一份注册表,这样做是为了如果后面操作错误的话可以重新导入备份的注册表,使自己有后悔药可吃(3)展开HKEY_CLASSES_ROOT\Directory\Background\shellex\ContextMenuHandlers\ (4)删除你不想要的菜单。一般通过...
2010-12-21 16:24:07 186
原创 MyEclipse8.6及MyEclipse8.5注册码
[size=medium]MyEclipse8.6,MyEclipse8.5,MyEclipse9(forspring)注册码本人测试以下注册码有效。 用户名:spring注册码:fLR8ZF-655333-66678657672229507用户名:LauCheng注册码:YLR8ZC-855550-6765665204902409 用户名:accp注...
2010-12-11 11:37:07 128
原创 visual studio 2010下安装OpenCV及相关配置
[size=medium]【注:】本文参考[url]http://www.opencv.org.cn/forum/viewtopic.php?f=1&t=11157[/url]进行编辑和整理,同时修正部分错误环境:windows 7+visual studio 2010+opencv 2.11、下载文件OpenCV2.1官方地址:[url]http://sourcefo...
2010-12-09 14:08:40 215
原创 JavaEye被CSDN收购?被关闭?
[size=medium][color=red]JavaEye被CSDN收购?被关闭?为什么?![/color][/size]
2010-11-24 18:55:21 164
原创 JAVA是否允许返回值类型不同的重载overload或覆盖override?
[size=medium]重载是一定不允许的。比如[/size][code="java"]class Super{ void f(){ } int f(){ return 1; }}[/code][size=medium]原因在与如果调用时int i = f();可以知道是调用Sub的f()。但是,往往用户不关心返回值。只是f()。这样就无法确...
2010-11-04 22:12:16 136
原创 import和static import
[size=medium]import可以引入某个包的某个类,或者所有类,以便使用的时候不用加上包名限定。static import 可以引入某个类的所有或者某个静态方法,以便使用的时候不用加上类名限定。[/size][code="java"]package cn.edu.hust.cs.j2se.test;public class StaticMethod { publi...
2010-11-03 15:07:36 102
原创 java扑克洗牌实现
[size=medium]前段时间,面试某知名公司的时候,被问到洗牌技术。当时,没有好的思路,结果,悲剧....现整理思路如下:假设洗54张牌,数组pokers存放每张牌的名字,pokersId存放牌的id,洗牌的过程使pokersId随机化。随机思路为产生两个随机数(合适范围),交互这两个位置的牌Id.重复该过程一定次数,原则上至少等于牌的张数。[/size][code="java"...
2010-11-03 14:50:25 260
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人