if / else 三目运算
age = 19
if age > 18:
ji= "adult"
else:
ji= "child"ji= 'adult' if age > 18 else 'child' //这样写直接直观print ji
真值判断
if attr ==True:
do_something()if len(values) != 0: #判断列表是否为空
do_something()
可以直接这样写
if attr:
do_something()
if values:
do_something()
for / else break语句不执行时候就会执行 else语句
age = [3,6,8,2,7,8,4,67,3]
res=Falsefor i inage:if i > 60:
res=Truebreak
if notres:print "noooo"
else:print "yessssss"
//使用 for / else 进行判断
for i inage:if i > 60:print "yesssssss"
break
else:print "nooooooooo"
获取字典元素
dic = {"name":"jk","age":23}if dic.has_key("name"):print dic['name']else:print "no name attr"
print dic.get("name","no name attr")
文件内容的对比
符号含义的说明
'-' 包含在第一个序列行中,但不包含在第二个序列行
'+' 包含在第二个序列行中,但不包含在第一个序列行
'' 两个序列行一致
'?'标志两个序列行存在增量差异
'^' 标志出两个 序列行存在的差异字符
importdifflib
test1="""helloworld232323
33333333
6666
444444444"""test2="""hellowerqerqererq
33333333
helli
44444444445"""test1_t=test1.splitlines()
test2_t=test2.splitlines()#打印出内容的不同
diff=difflib.Differ()
diff_cont=diff.compare(test1_t,test2_t)print "\n".join(list(diff_cont))#生成HTML 文档格式
diff=difflib.HtmlDiff()print diff.make_file(test1_t,test2_t)
遍历路径下的文件/目录
1使用os.lisdir递归
dirlist=[]
filelist=[]deflistall(dir):for files inos.listdir(dir):
dir_file_path=os.path.join(dir,files)ifos.path.isdir(dir_file_path):
dirlist.append(dir_file_path)
listall(dir_file_path)else:
filelist.append(dir_file_path)
listall('./')printdirlistprintfilelist2使用os.walk()
dirlist=[]
filelist=[]for root,dirs,files in os.walk('./'):for dir indirs:
dirlist.append(os.path.join(root,dir))for file infiles:
filelist.append(os.path.join(root,file))printdirlistprint filelist
requests / urllib2 两种方法http请求
importrequestsimporturllib2
url="http://www.nipic.com/"
printrequests.get(url).contentprint urllib2.urlopen(url).read()
使用lxml 模块解析html页面中的所有img元素下载到本地
importurllib.requestimportrequestsimportosfrom lxml importhtmldefmain():#opens xkcd.com
try:
page= requests.get("http://www.nipic.com/")exceptrequests.exceptions.RequestException as e:print(e)
exit()#parses xkcd.com page
tree =html.fromstring(page.content)#finds image src url
image_src = tree.xpath("//img/@src")#//B[@id]
#所有具有属性id的B元素
comic_location_dir= os.getcwd() + '/comics/'
#checks if save location exists else creates
#if not os.path.exists(comic_location_dir):
#os.makedirs(comic_location)
num=0for x inimage_src:
comic_location= comic_location_dir + str(num) + ".jpg"
printxprintcomic_location
urllib.request.urlretrieve(x, comic_location)
num= num + 1
if __name__ == "__main__":
main()
urllib.request.urlretrieve方法只适用于python3
还有个requests-html 只适用于python 3。用例访问解析html更加强大