真人亚洲娱乐Python 函数里print和return冲突?

( 真人亚洲娱乐 )

def print1():
     print 'hhh'
     return 'print1'
print print1()    

这里注释掉print行或者return行都可以运行,但是一起就不行了? 为什么呢
报错是意想不到的缩进,但是看不出有什么缩进上面的问题,求大神们指点一二。
我本意是想做文字游戏的,以class来分隔房间,然后用getattr(返回的字符串,‘房间函数(固定一个名字)’)来推进游戏,不知道这样是否可行?

肯定是一个是用tab一个是用空白…
把空白字符删除,然后再重新只用空格或只用tab来缩进应该就好了

如图
应该就是缩进的问题

(看完/读完)这篇文章有何感想! 真人亚洲娱乐的分享…

真人娱乐python flask运行时提示出错了

( 真人娱乐 )

Internal Server Error

The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.

这是app.py的代码,这个运行用的端口号是5500

from flask import Flask, render_template
from livereload import Server

app = Flask(__name__)
@app.route("/")
def index():
    return render_template("index.html", title="<h2>welcome to flask</h2>", body="<h4>hello flask</h4>")

@app.template_filter("md")
def markdown_to_html(txt):
    from markdown import markdown
    return markdown(txt)

def read_md(filename):
    with open(filename) as md_file:
        content = reduce(lambda x, y: x+y, md_file.readlines())
    return content.decode("utf-8")

@app.context_processor
def inject_method():
    return dict(read_md=read_md)

if __name__ == "__main__":
    live_server = Server(app.wsgi_app)
    live_server.watch("**/*.*")
    live_server.serve(open_url=True)

设置app.py debug的提示

下面这个是flaskblog.py的代码,运行端口号是5000,

from flask import Flask, render_template, request, redirect, url_for, make_response
from werkzeug.routing import BaseConverter
from werkzeug.utils import secure_filename
from flask.ext.script import Manager
from os import path


class RegexConverter(BaseConverter):
    def __init__(self, url_map, *items):
        super(RegexConverter, self).__init__(url_map)
        self.regex = items[0]

app = Flask(__name__)
app.url_map.converters["regex"] = RegexConverter
manager = Manager(app)

@app.route('/')
def hello_world():
    response = make_response(render_template("index.html", content="welcome to flask web development"))
    response.set_cookie("username","")
    return response

@app.route('/service')
def service():
    return 'service'

@app.route('/about')
def about():
    return 'about'

@app.route("/user/<regex('[a-z]{3}'):user_id>")
def user(user_id):
    return "user is %s" % user_id

@app.route("/login",methods=['GET','POST'])
def login():
    if request.method == "post":
        username = request.form["username"]
        password = request.form["password"]
    else:
        username = request.args["username"]
    return render_template("login.html", method=request.method)

@app.route("/upload",methods=["GET","POST"])
def upload():
    if request.method == "post":
        f = request.files("file")
        basepath = path.abspath(path.dirname(__file__))
        upload_path = path.join(basepath, "static/upload")
        f.save(upload_path, secure_filename(f.filename))
        return redirect(url_for("upload"))
    return render_template("upload.html")

@app.errorhandler(404)
def page_note_found(error):
    return render_template("404.html")

@manager.command
def dev():
    from livereload import Server
    live_server = Server(app.wsgi_app)
    live_server.watch("*", "*.*")
    live_server.serve(open_url=True)

if __name__ == '__main__':
    manager.run()
    #app.run()

debug提示如下:

你在 flask app 启动的地方把启动模式改成 debug 试试。

app.run(debug=True)

可以打印出出错原因。

为什么要使用livereload?Flask自带reload机制的,修改代码以后保存就会reload。所以你直接app.run()就可以了。

(看完/读完)这篇文章有何感想! 真人娱乐的分享…

真人网上娱乐如何获取视频真实的下载地址?

( 真人网上娱乐 )

视频播放的截面,如何通过对源码分析得到视频真正的下载地址,用python进行下载。

http://open.163.com/movie/200…
源代码中只能看到swf格式的,用写入方法下载的文件不能播放

看别人以前写过一篇文章,分析得到的视频真正的下载地址是
http://mov.bn.netease.com/mob…

用下面的网址能够用写入的方法下载得到视频并且能够播放,请问如何分析得到视频真正的下载地址

http://open.163.com/movie/2008/1/M/C/M6SGF6VB4_M6SGHFBMC.html

http://c.open.163.com/opensg/opensgm.do?callback=call&uuid=5cc84f40-608f-11e6-99e3-4131621fb040&ursid=&pid=M6SGF6VB4&mid=M6SGHFBMC&count=12&_=1471007961235

http://live.ws.126.net/movie/M/C/2_M6SGF6VB4_M6SGHFBMC.xml

http://mov.bn.netease.com/open-movie/nos/flv/2015/01/19/SAFD842HJ_sd.flv

发现什么规律没?

对源码分析

抱歉,网易播放器并不开源。不过你可以用工具对其反编译

用python进行下载

请搜索 you-get

(看完/读完)这篇文章有何感想! 真人网上娱乐的分享…

真人网上娱乐eventlet 中network connect 相关的函数

( 真人网上娱乐 )

在eventlet 库中有eventlet.connect,有eventlet.listen 等相关的函数,实现网络相关的功能,但是在python 中也有与socket 相关的库函数,想问下eventlet.XXX等函数与直接的库函数中的函数有什么区别马?有哪些优化马?

It uses epoll or kqueue or libevent for highly scalable non-blocking I/O

就是说eventlet是异步的。运用event loop和coroutine来完成并发。标准库内的函数(asyncio除外)是传统的同步I/O方式。

小小科普:

现如今做并发有两种方式:

  1. thread pool + 阻塞I/O

  2. event loop + 非阻塞I/O

1 容易理解。2 是一个单线程解决方案。所有网络I/O是非阻塞的。通过一个event loop来处理所有事件。伪代码如下

while True:
  wait_for_event()
  handle_event()
  

解决大量的并发2有很多优势。所以产生了很多解决方案。eventlet是其中之一。

(看完/读完)这篇文章有何感想! 真人网上娱乐的分享…

真人亚洲娱乐python默认参数传参问题

( 真人亚洲娱乐 )

如:def a(a,b=1,c=2)
现在调用的时候如果想传a和c那应该怎么写?

a(a=?, c=?)

a=都不用写,直接调用func(value_of_a, c=value_of_c)

如果有纯粹装X的话,你的代码可以用偏函数decorate一下func,然后 再调用;亦或在local namespace里放好{c:value_of_c}, 然后func(value_of_a, **locals())

(看完/读完)这篇文章有何感想! 真人亚洲娱乐的分享…

真人网上娱乐如何用终端或者python测试一个ss帐号的延迟?

( 真人网上娱乐 )

已知一个SS帐号,包括 ip:port,密码,加密方式,求问如何通过终端的ping命令测试这个帐号的延迟,以及在python中如何进行测试?

我假设你已经启用ss, 本地代理为socks5://127.0.0.1:1080, 下面是shell时间

# 暂时启用ss代理
export ALL_PROXY=socks5://127.0.0.1:1080
# 下面是百度最有价值的时刻: ping三次百度打印平均值
echo "挂梯子PING百度延时$(ping -c 3 www.baidu.com | grep ttl | awk -F "=" '{print $4}' | awk '{a+=$1}END{print a/NR}')ms"
# 清除代理
unset ALL_PROXY

运行结果
挂梯子PING百度延时83.1333ms

(看完/读完)这篇文章有何感想! 真人网上娱乐的分享…

真人娱乐如何统计python list中元素的个数及其位置?

( 真人娱乐 )

假设有一个list是[2,1,4,1,5,1,6,1],如果我想统计这个list中有多少个1,以及每个1的位置,应该如何写呢?谢谢~~

计数count,位置index

a = [1,2,3,1]
a.count(1) # 2
a.index(1) # 0
[x for x in range(len(a)) if a[x] == 1] # 一次获得所有位置

(看完/读完)这篇文章有何感想! 真人娱乐的分享…

真人娱乐python中怎么倒着遍历字符串?

( 真人娱乐 )

codecademy上过教程.练习中遇到了题述问题.且不能用reversed函数跟[::-1]
大家有什么好方法?

双端队列

from collections import deque


def string_reverse(string):
    d = deque()
    d.extendleft(string)
    return ''.join(d);

def rev(s):
    r = list()
    for c in s:
        r.insert(0, c)
    return ''.join(r)

str = "hello world"
l = len(str)
for i in range(l):
    print str[l - i - 1]

def reserveStr(s):
    length = len(s)
    result = ''
    for i in range(length):
        result += s[length - i - 1]
    return result
        

def reversed_index(n):
    for i in range(n-1, -1, -1):
        yield i


test_string = "我爱北京天安门"
new_string = ""
for i in reversed_index(len(test_string)):
    new_string += test_string[i]
print(new_string)

(看完/读完)这篇文章有何感想! 真人娱乐的分享…

真人亚洲娱乐Flask中extends与import的区别?

( 真人亚洲娱乐 )

《Flask web development》示例4-3中,使用Flask-WTF和Flask-Bootstrap渲染表单

{% extends "base.html" %}
{% import "bootstrap/wtf.html" as wtf %}

想问下什么情况下用extends什么情况下用import?两者有什么区别?

我来做个笔记:
extend继承的模板主要用途是子模板引用它的结构,补充其中的块内容。

import引用的模板主要为了在子模板中引用它的变量,宏函数等。类似import os这样的用法,所以,你也能定义同名的宏函数。bootstrap/wtf.html源码

题主在stackoveflow上的提问链接:what are the differences between import and extends in Flask?

extends表示继承,import表示引用,继承是能更改原有内容的,而引用则不会

extends一般用在模板调用中,比如你的base.html里面的内容是网页的主框架,在顶部有按钮啊,导航等
而你在其他的页面,比如xxxxx.html里面,基本框架都一样,而只需要修改一下页面的内容,那你就不必每次都在xxxxx.html里面重复写主框架的代码,而只要通过继承自base.html就可以达到“复制”主框架的作用

而import一般是用来引用模块或者功能
比如我们平时用得最多的import os
就是引入标准os模块

(看完/读完)这篇文章有何感想! 真人亚洲娱乐的分享…

真人网上娱乐如何合并列表中key相同的字典?

( 真人网上娱乐 )

现有list:

list1 = [{a: 123}, {a: 456},{b: 789}]

合并成:

list2 = [{a: [123,456]},{b: [789]}]

如何实现,望大神指点,不胜感激!!

from collections import defaultdict
lst = [{'a': 123}, {'a': 456},{'b': 789}]

dic = {}
for _ in lst:
    for k, v in _.items():
        dic.setdefault(k, []).append(v)

print [{k:v} for k, v in dic.items()]

用个map 键存在就append 不存在就赋值 最后转成list…

In [1]: from collections import defaultdict

In [2]: list1 = [{'a': 123}, {'a': 456}, {'b': 789}]

In [3]: list2 = defaultdict(list)

In [4]: [list2[k].append(v) for i in list1 for k, v in i.items()]
Out[4]: [None, None, None]

In [5]: list2.items()
Out[5]: dict_items([('b', [789]), ('a', [123, 456])])

In [6]: dict(list2)
Out[6]: {'a': [123, 456], 'b': [789]}

In [7]:

(看完/读完)这篇文章有何感想! 真人网上娱乐的分享…

真人娱乐python求多条曲线均值

( 真人娱乐 )

1、有多个列表,

a = [(1,2), (10, 80), (17, 110), (32, 200)...]
b = [(0,2), (5, 100), (27, 120), (31, 210)...]
c = [(6,2), (17, 90), (18, 110), (39, 250)...]
d = [(4,2), (13, 100), (25, 110), (42, 400)...]
e = [(2,2), (11, 100), (25, 110), (40, 360)...]
...

转换为曲线后如图所示:

每个tuple可以理解为横纵坐标,运用什么方法可以将归一化后的数据得到一条平均曲线?

对生成的曲线重新取样然后每个点相加取均值

对所有坐标点做拟合,得到拟合方程。不知道这样和你说的归一化是不是相符。

(看完/读完)这篇文章有何感想! 真人娱乐的分享…

真人娱乐这种终端任务柱状图怎么写?[图]

( 真人娱乐 )

用pip安装时候显示的任务柱状图,可以检测任务

print()其实就可以。用unicode的字符表示进度。然后用"\r"把回车去掉。

一下代码就差不多可以:

import time

i = 1
while i < 50:
    s = "█" * i
    print("{}\t\t{}".format(s, i), end="\r")
    i += 1
    time.sleep(1)

(看完/读完)这篇文章有何感想! 真人娱乐的分享…

真人娱乐怎么使用 python 直接运行 fabfiles, 而不是通过 fab?

( 真人娱乐 )

是的, 我知道使用 fab 能执行 fabfiles , 但我想通过 python 直接运行 fab task, 而不是通过 fab, 请问该怎么做?

已找到解决方案, execute(fab_fun) 就可以直接运行

封装到一个新的脚本中即可

同上,将fab命令封装到脚本中

test.py脚本内容

#!/usr/bin/env python

import subprocess

p = subprocess.Popen("/usr/bin/fab uname_a",shell=True)
p.wait()

fabfile.py内容:

#!/usr/bin/env python

from fabric.api import *
from fabric.colors import red

env.abort_exception = True


def uname_a():
    run("uname -a")  

原来执行fab uname_a来执行fab命令,现在使用ython test.py即可

(看完/读完)这篇文章有何感想! 真人娱乐的分享…

真人娱乐datetime weekday (可以返回某天是一个星期的第几天)的源码只有return 0

( 真人娱乐 )

好奇想学习一下这个weekday的源码,但是定位后发现源码里面只有一句:

    def weekday(self):
        """Return the day of the week as an integer, where Monday is 0 and
        Sunday is 6.

        :rtype: int
        """
        return 0

请问一下怎样才能找到它的真正源码位置?
父类中也没找到相应的函数。
在pycharm中采用调试功能,怎样才能进入到weekday()函数中? 我采用单步执行,一下子就跳出来了。

import datetime
d=datetime.datetime(2016,8,6)
t=d.weekday()
print t

datetime 是用 C 编写的,所以没有 Python 的源码。

In [28]: import datetime

In [29]: datetime.__file__
Out[29]: '/usr/lib/python2.7/lib-dynload/datetime.so'

In [30]: datetime?
Type:        module
String form: <module 'datetime' from '/usr/lib/python2.7/lib-dynload/datetime.so'>
File:        /usr/lib/python2.7/lib-dynload/datetime.so
Docstring:   Fast implementation of the datetime type.

可以下载源码包,看它的 C 源码。

参考: How do I find the location of Python module sources?

直接按住ctrl,再点击你要查看的函数就可以了

(看完/读完)这篇文章有何感想! 真人娱乐的分享…

真人娱乐python #coding:utf-8和setdefaultencoding有什么区别?

( 真人娱乐 )

# coding:utf-8
import sys
reload(sys)
sys.setdefaultencoding('utf-8')

1.如果你在python中进行编码和解码的时候,不指定编码方式,那么python就会使用defaultencoding。
而python2.x的的defaultencoding是ascii,这也就是大多数python编码报错:“UnicodeDecodeError: ‘ascii’ codec can’t decode byte ……”的原因。

2.关于头部的# coding:utf-8,有以下几个作用
2.1如果代码中有中文注释,就需要此声明
2.2比较高级的编辑器(比如我的emacs),会根据头部声明,将此作为代码文件的格式。
2.3程序会通过头部声明,解码初始化 u”人生苦短”,这样的unicode对象,(所以头部声明和代码的存储格式要一致)

我写过一篇关于python 编码的博客:http://www.pulpcode.cn/program-language/2014/12/23/python-encode/

python2.7以后不用setdefaultencoding了,这两个是没有区别的

这两个作用不一样,
1. # coding:utf-8
作用是定义源代码的编码. 如果没有定义, 此源码中是不可以包含中文字符串的.
PEP 0263 — Defining Python Source Code Encodings
https://www.python.org/dev/peps/pep-0263/
2. sys.getdefaultencoding()
是设置默认的string的编码格式

(看完/读完)这篇文章有何感想! 真人娱乐的分享…

真人娱乐django开发一个list赋值问题

( 真人娱乐 )

    categoryList = list(Category.objects.raw(sql))
    for index in range(len(categoryList)):
        #categoryList[index]['count']='1'

如上,想在每个元素的key为count的里边赋值,我这么写好像不太对

建议先看看这个 Performing raw SQL queries. 查询出来的东西是RawQuerySet,里面的记录就是对应的模型实例。遍历这个RawQuerySet,在每个模型实例上执行应有的操作。

pythoncategoryList = Category.objects.raw(sql)
for category in categoreList:
    category.count = 1

(看完/读完)这篇文章有何感想! 真人娱乐的分享…

真人娱乐爬网站资料,遇到要求 connection id token,但是是以非正规方式获取该id,如何解决?

( 真人娱乐 )

小弟最近正在研究如何爬取这家机票资料

我们可以从 Chrome dev tool 看到从client 端连续发送出了两个类似的 requests

https://api.flyvair.com/api/v1/bookings/flightavailability?origin=TPE&dstn=CNX&adult=1&child=0&infant=0&promoCode=&departFrom=2015-10-27&departTo=2015-11-04&returnFrom=2015-10-27&returnTo=2015-11-04

其中第一次是 OPTIONS methods, 我不知道他是做啥的 但是里面的 headers 有请求 'Access-Control-Request-Headers': 'accept, x-connect-id'

然而这次的 OPTIONS request ,伺服器端似乎也没有回送任何 x-connect-id value

而第二次 Get method Request, 就是真正跟 伺服器端要资料了,里面重要的资讯就是在档头 header 夹带了 x-connect-id

只是真是坑爹,我找了整个晚上,根本找不到他吗的 x-connect-id value 从哪里生出来。

各位前辈高手,可以帮小弟给点方向吗? 小弟是用 Python requests 做开发的

一. 先找发这个请求的地方, 看是怎么赋值的, 关键字 x-connect-id.

二. 根据第一步的结果,发现这个是从本地存储中读出来的, 那么接下来就是找, 是什么地方存进去的. 关键字 connect-id

三. 根据第二步的结果, 发现保存的这个值来自于 guid 这个方法的返回值, 然后再找 guid 这个方法是怎么定义的. 关键字 guid

四. 找到 guid 方法定义的地方, 得到答案. 以下为该方法的运行结果.

下面图发请求的时候所带的 x-connect-id 的例子:

所以, 答案就是这个 x-connect-id 是随机产生的.


以上代码来自于这个文件: https://www.flyvair.com/src/js/app.js?bust=1446107282487
因为代码被压缩过, 可以使用下面这个网站进行格式化, 以便阅读.
http://jsbeautifier.org/

(看完/读完)这篇文章有何感想! 真人娱乐的分享…

真人网上娱乐如何在mac上用python批量将word文件转成txt文件

( 真人网上娱乐 )

如何在mac上用python批量将word文件转成txt文件

Word 文档本质上是压缩后的资源文件与 xml 文件,你可以根据 Open XML 标准去解析 xml 文件。要是嫌麻烦,用 python-docx 库似乎也可以完成这个。

Google: –>”how to process docx on python”
一般搜出来的就是那个最为流行的库(坑少,易用)

(看完/读完)这篇文章有何感想! 真人网上娱乐的分享…