Intelligence without ambition is a bird without wings.

2014-12-25
python-subprocess隐藏命令行

代码

1
2
3
4
5
import subprocess
startupinfo = subprocess.STARTUPINFO()
startupinfo.dwFlags = subprocess.CREATE_NEW_CONSOLE | subprocess.STARTF_USESHOWWINDOW
startupinfo.wShowWindow = subprocess.SW_HIDE
subprocess.Popen(["ping", "-c 1", ip], stdout=subprocess.PIPE, stderr=subprocess.PIPE, startupinfo=startupinfo)

参考

  1. http://code.activestate.com/recipes/578300-python-subprocess-hide-console-on-windows/
阅读此文

2014-12-24
python-格式字符串

背景

因python不提供隐式类型转换,不支持类似string + int等操作,所以字符串的连接
需要使用其他的方法。

2.6之后推荐使用string.format()

基本用法

  • string连接其他类型
1
2
var = False
'True Or {}!'.format(var)
  • 命名参数
1
madlib = " I {verb} the {object} off the {place} ".format(verb="took", object="cheese", place="table")

不推荐使用%

原因,参见PEP-3101

参考

  1. https://www.python.org/dev/peps/pep-3101/
  2. https://docs.python.org/2.7/library/string.html#formatspec
  3. http://youngsterxyf.github.io/2013/01/26/python-string-format/
  4. http://www.pythonclub.org/python-basic/print
阅读此文

2014-12-24
python-获取相对路径

代码

1
2
3
4
import os

# 获取指定目录相对于当前工作目录的相对路径
print(os.path.relpath('E:/Work/Project/WifiClient/branches/br_WiFi_v0.0.0_r5/httpd/cgi-bin'))

参考

  1. http://stackoverflow.com/questions/17506552/python-os-path-relpath-behavior
  2. https://docs.python.org/2/library/os.path.html#os.path.relpath
阅读此文

2014-12-24
python-切换工作目录

阅读此文

2014-12-24
python-复制文件

代码

  • shutil.copy(src, dst)

    • src,源文件
    • dst,目标可以是文件,也可以是目录,当是目录,则在该目录下新建同名文件或覆盖同名文件
    • 只拷贝内容,不拷贝文件元信息(创建时间,最后访问时间,修改时间等)
  • shutil.copy2(src, dst)

    • 完全拷贝(包括元信息),相当于shutil.copy(src, dst)+shutil.copystat(src, dst)

参考

  1. https://docs.python.org/2/library/shutil.html#shutil.copystat
阅读此文

2014-12-23
打开方式无法添加新程序

原因

修改了文件名,注册表没有同步

解决

删除对应注册表项

HKEY_CURRENT_USER\Software\Classes\Applications\<Application-name>
阅读此文

2014-12-23
python-强制重新导入模块

阅读此文

2014-12-23
python-获取__main__模块文件名

情景

__main__模块中import A,而A模块中需要引用__main__的文件名

方法1

1
2
import __main__
print __main__.__file__

缺陷:

当使用py2exe时,无法使用

方法2

1
2
import sys
print sys.argv[0]

缺陷:

当使用python解释器-c传参启动时,无效

参考

  1. http://stackoverflow.com/questions/606561/how-to-get-filename-of-the-main-module-in-python
  2. http://www.acnenomor.com/4440072p1/how-to-get-filename-of-the-main-module-in-python
阅读此文

2014-12-23
python-获取文件名组成

获取基本文件名

1
2
filename="/tmp/test.txt"
os.path.basename(filename)

获取基本文件名(不包括拓展名)

1
2
filename="/tmp/test.txt"
os.path.splitext(os.path.basename(filename))[0]

获取文件拓展名

1
2
filename="/tmp/test.txt"
os.path.splitext(os.path.basename(filename))[1]

获取父目录

1
2
filename="/tmp/test.txt"
os.path.dirname(filename)

参考

  1. http://stackoverflow.com/questions/678236/how-to-get-the-filename-without-the-extension-from-a-path-in-python
阅读此文

2014-12-22
优秀网站列表

代码搜索

网盘搜索

代码片段保存

持续集成

软件下载

Linux

娱乐网站

APP下载

视频下载

程序设计

阅读此文