您的位置:首页 > 编程语言 > Python开发

学习笔记:python3,代码。小例子习作(2017)

2017-04-01 12:56 483 查看
http://www.cnblogs.com/qq21270/p/7634025.html  学习笔记:python3,一些基本语句(一些基础语法的代码,被挪到这里了)

日期和时间操作
http://blog.csdn.net/ibiao/article/details/78067497  time与datetime http://www.cnblogs.com/shhnwangjian/p/6117602.html  python 时间类型和相互转换

# -*- coding: utf-8 -*-
# coding=utf-8
import time
from datetime import datetime   #这个要from引用,否则 datetime.fromtimestamp 会报错
dt = time.time()        # 获取当前的时间戳         1507384502.2770934
t0 = time.gmtime()       # 将时间戳转换成结构化时间元组(UTC时区)伦敦时区    time.struct_time(tm_year=2017, tm_mon=10, tm_mday=7, tm_hour=14, tm_min=0, tm_sec=39, tm_wday=5, tm_yday=280, tm_isdst=0)
t1 = time.localtime()    # 将时间戳转换成结构化时间元组(UTC+8时区)北京时区      time.struct_time(tm_year=2017, tm_mon=10, tm_mday=7, tm_hour=22, tm_min=0, tm_sec=39, tm_wday=5, tm_yday=280, tm_isdst=0)
print(dt)
print(t0)
print(t1)
print(datetime.fromtimestamp(dt))           #2017-10-07 22:00:39.674642
print(time.strftime('%Y-%m-%d %H:%M:%S'))   #2017-10-07 22:00:39
print(time.gmtime(1498488176.3209014))  #time.struct_time(tm_year=2017, tm_mon=6, tm_mday=26, tm_hour=14, tm_min=42, tm_sec=56, tm_wday=0, tm_yday=177, tm_isdst=0)


def __str2time(s):      #一个字符串转换为datetime的时间函数
t = time.strptime(s,'%Y-%m-%d %H:%M:%S')
return datetime(*t[:6])

s = __str2time("2017-9-29 22:10:15")
print(s)           #2017-09-29 22:10:15 <class 'datetime.datetime'>


# 计算起止时间
import time, random
start = time.time()
time.sleep(random.random())
end = time.time()
print('runs %0.5f seconds.' %(end - start))
print('runs %0.2f seconds.' %(end - start)) #取小数点后2位
print('runs %0.1f seconds.' %(end - start))


读文件、写文件

#读文件
f = open("c:\\1.txt","r")
lines = f.readlines()
for line in lines:
print( line)

#写文件
f = open("c:\\1.txt","r+")
f.write("123")#写入字符串


#每运行一次,追加一下更改时间
import time
from datetime import datetime
try:
f = open('1.txt', 'r+')
sss = f.read()
print(sss)
t2 = datetime.fromtimestamp(float(time.time()))
f.write('\n'+str(t2))
finally:
if f:
f.close()


下载大文件  2017-10-7      补充阅读:http://blog.topspeedsnail.com/archives/8462  多线程下载

import requests
import urllib
#openurl = "http://www.xxx.com/zz.rar"     #普通下载
#saveurl = "d:/99999.rar"
#urllib.request.urlretrieve(openurl, saveurl)

openurl = "http://xxx/xxx.tar.gz"
saveurl = "d:/999.tar.gz"
r = requests.get(openurl, stream=True)    #流式下载
f = open(saveurl, "wb")
for chunk in r.iter_content(chunk_size=512):
if chunk:
f.write(chunk)


网易云音乐批量下载
https://www.zhihu.com/question/20799742
一个例子。建立文件夹后,python下载音乐文件。  2017-3-23

# -*- coding: utf-8 -*-
import requests
import urllib

# 榜单歌曲批量下载
#http://music.163.com/discover/toplist?id=3779629    id来自于 http://music.163.com/ 的“云音乐新歌榜”
r = requests.get('http://music.163.com/api/playlist/detail?id=3779629')
arr = r.json()['result']['tracks']    # 共有100首歌

for i in range(10,20):    # 输入要下载音乐的数量,1到100。
name = str(i+1) + ' ' + arr[i]['name'] + '.mp3'
link = arr[i]['mp3Url']
urllib.request.urlretrieve(link, '网易云音乐\\' + name)    # 提前要创建文件夹
print(name + ' 下载完成')


使用urllib,发送请求

这里有点小问题还没解决,拿到的网页,解码有问题: print(resp.read().decode("utf-8"))

from urllib import request
from urllib import parse
url111="http://www.baidu.com"
req = request.Request(url111)

#冒充浏览器生成请求头
req.add_header("User-Agent","Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3026.3 Safari/537.36")
#使用 urlencode 生成POST数据
postData = parse.urlencode([
#("rsv_spt","1"),
("wd","444")
])
#resp = request.urlopen(url111)
#resp = request.urlopen(req)
resp = request.urlopen(req,data=postData.encode("utf-8"))
print(resp.status)
print(resp.read())


几个一行代码  https://www.zhihu.com/question/37046157

# 一行筛质数
n = 100
a = filter(lambda x: all(map(lambda p: x % p != 0, range(2, x))), range(2, n))
for i in a:
print(i)


# 碾平list
a = [1, 2, [3, 4], [[5, 6], [7, 8]]]
flatten = lambda x: [y for l in x for y in flatten(l)] if type(x) is list else [x]
print(flatten(a))


# 求偶数的平方
a = [x * x for x in range(20) if x % 2 == 0]
print(a)


..
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: