收集的几个Python小技巧分享

yipeiwu_com7年前Python基础

获得当前机器的名字:

复制代码 代码如下:

def hostname():
        sys = os.name 
 
        if sys == 'nt': 
                hostname = os.getenv('computername') 
                return hostname 
 
        elif sys == 'posix': 
                host = os.popen('echo $HOSTNAME') 
                try: 
                        hostname = host.read() 
                        return hostname 
                finally: 
                        host.close()
        else: 
                return 'Unkwon hostname'

获取当前工作路径:

复制代码 代码如下:

import os
 
os.getcwd()

#or

#os.curdir just return . for current working directory.
#need abspath() to get full path.
os.path.abspath(os.curdir)

获取系统的临时目录:

复制代码 代码如下:

os.getenv('TEMP')

字符串与int,long,float的转化:

python的变量看起来是没有类型的,其实是有变量是有类型的。

使用locale模块下的atoi和atof来将字符串转化为int或float,或者也可以直接使用int(),float(),str()来转化。以前的版本中atoi和atof是在string模块下的。

复制代码 代码如下:

s = "1233423423423423"
import locale
locale.atoi(s)
#1233423423423423
locale.atof(s)
#1233423423423423.0
int(s)
#1233423423423423
float(s)
#1233423423423423.0
str(123434)
"123434"

bytes和unicodestr的转化:

复制代码 代码如下:

# bytes object 
 b = b"example" 
 
 # str object 
 s = "example" 
 
 # str to bytes 
 bytes(s, encoding = "utf8") 
 
 # bytes to str 
 str(b, encoding = "utf-8") 
 
 # an alternative method 
 # str to bytes 
 str.encode(s) 
 
 # bytes to str 
 bytes.decode(b)

写平台独立的代码必须使用的:


复制代码 代码如下:

>>> import os
>>> os.pathsep
';'
>>> os.sep
'\\'
>>> os.linesep
'\r\n'

相关文章

Django重置migrations文件的方法步骤

Django开发过程中如果数据库变动过多导致migrations的文件越来越多,管理起来很不方便, 幸运的是Django提供了一种方式可以是这些文件重置到0001状态,而且不删除原有数据...

Python Opencv任意形状目标检测并绘制框图

Python Opencv任意形状目标检测并绘制框图

opencv 进行任意形状目标识别,供大家参考,具体内容如下 工作中有一次需要在简单的图上进行目标识别,目标的形状不固定,并且存在一定程度上的噪声影响,但是噪声影响不确定。这是一个简单...

简单的通用表达式求10乘阶示例

复制代码 代码如下:(lambda x: lambda n: x(x)(n))(lambda f: lambda n: 1 if n == 0 else n*f(f)(n-1))(10)...

对于Python的Django框架使用的一些实用建议

前言:随着Django1.4第二个候选版的发布,虽然还不支持Python3,但Django团队已经在着手计划中,据官方博客所说,Django1.5将会试验性的支持python3。 Dja...

Python中生成Epoch的方法

在Python2中datetime对象没有timestamp方法,不能很方便的生成epoch,现有方法没有处理很容易导致错误。关于Epoch可以参见时区与Epoch 0 Python中生...