`

python常用点整理

 
阅读更多

1,b.py调用a.py的函数有如下两种方式

库代码如下

# a.py
#!/usr/bin/env python

def funcA(str):
    return "Hello " + str

引用方式如下

# b.py
#!/usr/bin/env python

# type 1
import a
print a.funcA("World")

# type 2
from a import *
print funcA("World")

2,引用文件夹代码
目录结构如下

>ls 
test/
test/__init__.py # import时会自动调用
t.py

库代码如下

# test/__init__.py
#!/usr/bin/env python

def funcB():
    print "Yes"

引用方式如下

# t.py
#!/usr/bin/env python

from test import funcB
#from test import *

funcB()

3,python类的使用(私有公有属性函数,继承)

#!/usr/bin/env python

class Person:
    
    #constructor
    def __init__(self, p_name, p_sex, p_age=0):
        self.name = p_name #public
        self._sex = p_sex  #protected (just a comment, not official)
        self.__age = p_age #private
        
    def say(self):
        print "I am " + self.name + " " + str(self.__age) + " years old"
        self.__private_say()

    def __private_say(self):
        print "I am chinese"


p = Person("ciaos","male",26)
p.say()
#p.__private_say()  #forbidden

print p.name
print p._sex        #allow
#print p.__age      #forbidden


class Student(Person):

    def __init__(self, p_name, p_sex, p_age, p_school):
        Person.__init__(self, p_name, p_sex, p_age)
        self.school = p_school

    def introduce(self):
        print "I am from " + self.school + " my name is " + self.name

s = Student("stone","female",26,"campus")
s.introduce()

4,python的http digest认证(首先获取网站的Realm值)

#!/usr/bin/env python

import urllib2

URL      = 'http://website/digest-auth'
Realm    = 'Test Passport' #get realm info from website first
Username = 'account'
Password = 'password'

authhandler = urllib2.HTTPDigestAuthHandler()
authhandler.add_password(Realm, URL, Username, Password)
opener = urllib2.build_opener(authhandler)
urllib2.install_opener(opener)
page_content = urllib2.urlopen(URL)
for line in page_content:
    print line  #response content

5,python查看变量有无定义

try:
    variable_not_exist
except NameError:
    variable_not_exist = None

6,函数中使用全局变量

#!/usr/bin/env python

a=3

def func1():
        b = a 
        print b

def func2():
        a = "local"
        print a

def func3():
        global a
        a = "test"
        print a

func1() # global variable can be read in function
func2() # local variable
print a # global variable not change
func3() # global variable can be reset only after global statement
func1() # already reset

7,用popen保证只有单个实例在运行

def check_exist():
    pipe = os.popen("ps -ef | grep file_name.py | grep -v grep | wc -l")
    ex_flag = pipe.read().strip()
    print "### " + ex_flag + " ###"
    pipe.close()

    if int(ex_flag) > 1:
        sys.exit(0)

if _name__ == '__main__':

    chech_exist()
    # continue job

8,引用指定文件夹代码

import sys;
sys.path.append("/home/a/")
import b
9,编码转换
linux shell下默认为utf8编码

>>> str=u"我的"		#unicode编码(前面加u)
>>> str
u'\u6211\u7684'

>>> str="我的"		#utf8编码
>>> str
'\xe6\x88\x91\xe7\x9a\x84'

>>> str.decode("utf8")	#utf8转unicode转gb2312
u'\u6211\u7684'
>>> str.decode("utf8").encode("gb2312")
'\xce\xd2\xb5\xc4'

>>> print str.decode("utf8").encode("gb2312")  #会乱码(4/3个字)

windows idle下默认编码为gb2312

>>> str=u"我的"		#unicode编码(前面加u)
>>> str
u'\xce\xd2\xb5\xc4'

>>> str="我的"		#gb2312编码
>>> str
'\xce\xd2\xb5\xc4'

>>> str.decode("gb2312")
u'\u6211\u7684'

>>> str.decode("gb2312")	#gb2312转unicode转utf8
u'\u6211\u7684'
>>> str.decode("gb2312").encode("utf8")
'\xe6\x88\x91\xe7\x9a\x84'

>>> print str.decode("gb2312").encode("utf8")  #会乱码(3个字)
# -*- coding: gbk -*-
import urllib

str1="玫瑰小镇"
str2="天堂岛"
str3="玫"

ustr1=str1.decode("gb2312").encode("utf8")
ustr2=str2.decode("gb2312").encode("utf8")
ustr3=str3.decode("gb2312").encode("utf8")

print urllib.quote(str1)
print urllib.quote(str2)
print urllib.quote(str3)

print urllib.quote(ustr1)
print urllib.quote(ustr2)
print urllib.quote(ustr3)


# %C3%B5%B9%E5%D0%A1%D5%F2
# %CC%EC%CC%C3%B5%BA
# %C3%B5
# %E7%8E%AB%E7%91%B0%E5%B0%8F%E9%95%87
# %E5%A4%A9%E5%A0%82%E5%B2%9B
# %E7%8E%AB
 
# -*- coding: utf8 -*-
import urllib

str1="玫瑰小镇"
str2="天堂岛"
str3="玫"

gstr1=str1.decode("utf8").encode("gbk")
gstr2=str2.decode("utf8").encode("gbk")
gstr3=str3.decode("utf8").encode("gbk")

print urllib.quote(str1)
print urllib.quote(str2)
print urllib.quote(str3)

print urllib.quote(gstr1)
print urllib.quote(gstr2)
print urllib.quote(gstr3)
 10,test
#!/usr/bin/python

import os
import os.path
import sys
import urllib2
import logging

def get_logger(log_name):
        logger = logging.getLogger()
        formatter = logging.Formatter('%(pathname)s - %(asctime)s - %(name)s - %(levelname)s - %(message)s',)
        file_handler = logging.FileHandler(log_name)
        file_handler.setFormatter(formatter)
        logger.addHandler(file_handler)
        logger.setLevel(logging.NOTSET)
        return logger

logger = get_logger("/tmp/web_wget.log")

def down(from_file, to_file):
        src_url = from_file.replace('/usr/local/flashgameweb/webgame_htdocs','http://test')

        to_dir_pos = to_file.rindex("/")
        to_dir = to_file[0:to_dir_pos+1]

        if os.path.isdir(to_dir):
                pass
        else:
                os.makedirs(to_dir)

        try:
                f = urllib2.urlopen(src_url,timeout=10800)
                with open(to_file, "wb") as code:
                        code.write(f.read())
        except:
                logger.critical(sys.exc_info())
                logger.error("download error: from " + src_url + " to " + to_file)
                return False

        logger.info("download ok: " + src_url)
        return True

if __name__ == '__main__':
        if len(sys.argv) < 2:
                logger.critical("No action specified!")

        from_file = sys.argv[1]
        to_file = from_file.replace("flashgameweb", "rsyncweb")

        down(from_file, to_file)
  11,JSON
#!/usr/bin/python
# -*- coding: utf-8 -*-

import json

with open('data.json', 'r') as content_file:
    content = content_file.read()
    decoded = json.loads(content)
    print decoded
    decoded = json.JSONDecoder().decode(content)
    print decoded
    encoded = json.JSONEncoder().encode(decoded)
    print encoded
    encoded = json.dumps(decoded)
    print encoded
分享到:
评论

相关推荐

    python技术常用类库整理(最新)

    涵盖了 python的常用类库,分类整理,需要的大家自行下载

    Python常用模块

    Python常用模块整理

    python常用语句.txt

    ### Python常用语句与特性详解 #### Python 的特色与优势 Python 作为一种广泛使用的高级编程语言,具备多种独特的优点,使其成为许多领域的首选语言。以下是根据文档内容整理的关键点: 1. **简单与易学**:...

    Python知识点整理.zip

    在这个名为"Python知识点整理.zip"的压缩包中,我们找到了一个名为"Python知识点整理.pdf"的文档,它很可能包含了Python语言的核心概念、常用库和实战技巧。下面,我们将对Python的一些关键知识点进行详细的阐述。 ...

    Python知识点整理.pdf

    Python 知识点整理 Python 是一种高级的、解释型的编程语言,广泛应用于 Web 开发、数据科学、人工智能等领域。以下是 Python 的一些重要知识点: 一、算法 算法是解决问题的方法和步骤,即解题步骤。算法的描述...

    Python知识点背诵手册(分章节超详细)Python知识点梳理手册

    《Python知识点背诵手册》是一份详细整理的资料,旨在帮助初学者系统地理解和掌握Python的核心概念与技能。下面我们将深入探讨Python的一些关键知识点。 1. **基础语法** - 变量与数据类型:Python支持整型(int)、...

    Python知识点总结.doc

    在这个文档中,我们将探讨Python的基础知识,主要包括数据类型、语法、常用函数和类。 首先,Python的数据类型是程序设计的基础。其中: 1. **整数**:Python支持任意大小的整数,包括正数、负数和零。它们可以以...

    数学建模比赛常用代码python版

    本资源集合了数学建模比赛中常用的30个算法,并以Python代码的形式呈现,这对于参赛者来说是一份非常实用的参考资料。 首先,Python的基础语法是所有算法实现的基石。理解变量定义、数据类型(如整型、浮点型、字符...

    Python知识点整理.docx

    ### Python知识点整理 #### 第一部分:算法 ##### 1.1 概念 - **算法定义**:算法是指解决问题的方法和步骤,它是一系列明确、有限的指令集合。 - **重要性**:算法在计算机科学中扮演着核心角色,它是程序设计的...

    python常用模块总结

    python常见模块整理,整理为PPT格式,文档带有超链接,查询方便。

    Python英语单词整理(1).pdf

    这份文档是关于Python编程语言的基础知识点整理。文档中提到了Python的众多关键概念和组成部分,包括但不限于关键字、数据类型、函数、循环、条件语句等。接下来将详细解释文档中提及的各个知识点: 1. **...

    字节跳动把Python入门知识点整理成手册了-背记手册,高清PDF下载

    字节跳动的大佬们精心整理出的这本Python入门背记手册,旨在帮助初学者快速掌握Python的基础知识。手册涵盖了从语言基础到常用的编程概念,下面我们就逐一解析这些知识点。 ### 一、基础知识 1. **打印函数 `print...

    Python英语单词整理.pdf

    Python是一种广泛使用的高级编程语言,以其易读性强、语法简洁而受到欢迎。在学习Python时,掌握一些核心的英语词汇是必要的。以下是一些关键概念的详细解释: 1. **interpreter**:Python解释器是执行Python代码的...

    Python知识点整理 (2).pdf

    本文将深入探讨Python中的关键知识点,包括算法、变量、数据类型、运算符、字符串操作、布尔运算以及常用的函数和语句。 首先,算法是编程的核心,它定义了解决问题的步骤和方法。在Python中,可以通过自然语言、...

    2014年辛星python标准库整理夏季版

    在2014年,辛星完成了对Python标准库的整理工作,发布了一个名为“2014年辛星python标准库整理夏季版”的文档。这份文档是对Python标准库的一次深入梳理和总结,尽管辛星本人承认这份文档可能不全面,并承诺在未来的...

    九年级Python知识点整理.docx

    在九年级的Python学习中,学生们会接触到一些基本的数据结构,包括列表、元组和字典,这些都是编程中常用的数据组织形式。 一、列表(Lists) 列表是Python中最常用的序列类型,它是一个有序的可变集合,意味着你可以...

    python常用语法.docx

    根据提供的文档信息,我们可以归纳总结出以下Python编程语言中...以上是根据所提供的文件内容整理出来的Python常用语法知识点。这些基础语法对于初学者来说非常重要,掌握它们是进一步学习和开发Python应用程序的基础。

    Python基础教程:常用函数整理.pdf

    Python是一种广泛使用的高级编程语言,尤其适合初学者入门。在Python中,有一些常见的函数可以帮助我们处理数据和控制程序流程。以下是一些基本的Python函数及其用法: 1. **`literal_eval()` 函数**: 来自 `ast`...

    整理Python 常用string函数(收藏)

    字符串中字符大小写的变换 1. str.lower() //小写 &gt;&gt;&gt; ‘SkatE’.lower() ‘skate’ 2. str.upper() //大写 &gt;&gt;&gt; ‘SkatE’.upper() ‘SKATE’ 3. str.swapcase() //大小写互换 &gt;&gt;&gt; ‘SkatE’.swapcase() ...

Global site tag (gtag.js) - Google Analytics