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 作为一种广泛使用的高级编程语言,具备多种独特的优点,使其成为许多领域的首选语言。以下是根据文档内容整理的关键点: 1. **简单与易学**:...
在这个名为"Python知识点整理.zip"的压缩包中,我们找到了一个名为"Python知识点整理.pdf"的文档,它很可能包含了Python语言的核心概念、常用库和实战技巧。下面,我们将对Python的一些关键知识点进行详细的阐述。 ...
Python 知识点整理 Python 是一种高级的、解释型的编程语言,广泛应用于 Web 开发、数据科学、人工智能等领域。以下是 Python 的一些重要知识点: 一、算法 算法是解决问题的方法和步骤,即解题步骤。算法的描述...
《Python知识点背诵手册》是一份详细整理的资料,旨在帮助初学者系统地理解和掌握Python的核心概念与技能。下面我们将深入探讨Python的一些关键知识点。 1. **基础语法** - 变量与数据类型:Python支持整型(int)、...
在这个文档中,我们将探讨Python的基础知识,主要包括数据类型、语法、常用函数和类。 首先,Python的数据类型是程序设计的基础。其中: 1. **整数**:Python支持任意大小的整数,包括正数、负数和零。它们可以以...
本资源集合了数学建模比赛中常用的30个算法,并以Python代码的形式呈现,这对于参赛者来说是一份非常实用的参考资料。 首先,Python的基础语法是所有算法实现的基石。理解变量定义、数据类型(如整型、浮点型、字符...
### Python知识点整理 #### 第一部分:算法 ##### 1.1 概念 - **算法定义**:算法是指解决问题的方法和步骤,它是一系列明确、有限的指令集合。 - **重要性**:算法在计算机科学中扮演着核心角色,它是程序设计的...
python常见模块整理,整理为PPT格式,文档带有超链接,查询方便。
这份文档是关于Python编程语言的基础知识点整理。文档中提到了Python的众多关键概念和组成部分,包括但不限于关键字、数据类型、函数、循环、条件语句等。接下来将详细解释文档中提及的各个知识点: 1. **...
字节跳动的大佬们精心整理出的这本Python入门背记手册,旨在帮助初学者快速掌握Python的基础知识。手册涵盖了从语言基础到常用的编程概念,下面我们就逐一解析这些知识点。 ### 一、基础知识 1. **打印函数 `print...
Python是一种广泛使用的高级编程语言,以其易读性强、语法简洁而受到欢迎。在学习Python时,掌握一些核心的英语词汇是必要的。以下是一些关键概念的详细解释: 1. **interpreter**:Python解释器是执行Python代码的...
本文将深入探讨Python中的关键知识点,包括算法、变量、数据类型、运算符、字符串操作、布尔运算以及常用的函数和语句。 首先,算法是编程的核心,它定义了解决问题的步骤和方法。在Python中,可以通过自然语言、...
在2014年,辛星完成了对Python标准库的整理工作,发布了一个名为“2014年辛星python标准库整理夏季版”的文档。这份文档是对Python标准库的一次深入梳理和总结,尽管辛星本人承认这份文档可能不全面,并承诺在未来的...
在九年级的Python学习中,学生们会接触到一些基本的数据结构,包括列表、元组和字典,这些都是编程中常用的数据组织形式。 一、列表(Lists) 列表是Python中最常用的序列类型,它是一个有序的可变集合,意味着你可以...
根据提供的文档信息,我们可以归纳总结出以下Python编程语言中...以上是根据所提供的文件内容整理出来的Python常用语法知识点。这些基础语法对于初学者来说非常重要,掌握它们是进一步学习和开发Python应用程序的基础。
Python是一种广泛使用的高级编程语言,尤其适合初学者入门。在Python中,有一些常见的函数可以帮助我们处理数据和控制程序流程。以下是一些基本的Python函数及其用法: 1. **`literal_eval()` 函数**: 来自 `ast`...
字符串中字符大小写的变换 1. str.lower() //小写 >>> ‘SkatE’.lower() ‘skate’ 2. str.upper() //大写 >>> ‘SkatE’.upper() ‘SKATE’ 3. str.swapcase() //大小写互换 >>> ‘SkatE’.swapcase() ...