小编rit*_*att的帖子

Flask app无法解析郊区

我创建了一个简单的heroku应用程序,它以url作为参数,读取url数据并在浏览器中显示它.这是代码:

import os
from flask import Flask
import urllib2, urlparse

app = Flask(__name__)

@app.route('/<url>')
def getdata(url):
    url.replace('www.','')
    if url.count('http') == 0:
        url = 'http://'+url
    u = urlparse.urlparse(url)
    nurl = u.geturl()
    response = urllib2.urlopen(nurl).read()
    return response

if __name__ == '__main__':
    port = int(os.environ.get('PORT', 5000))
    app.run(host='0.0.0.0', port=port)
Run Code Online (Sandbox Code Playgroud)

通过网址时,google.com它工作正常.但是当传递类似的东西google.com/images(我知道url返回503)时,它会抛出404错误.当我尝试在我的python shell中正常阅读郊区时它工作得很好.为什么会发生这种情况,我该如何解决?

python url flask

2
推荐指数
1
解决办法
149
查看次数

列表理解而不使用iterable

我试图通过从另一个列表中选择随机元素来建立一个列表,没有重复.想想洗牌一副牌.我显然可以为此编写一些unpythonic代码,我不想这样做.

所以这就是我想要做的:

new = [deck[i] where 0<(i = some_rand_int)<51 if new.count(deck[i]) == 0]

有没有办法做到这一点?

python list-comprehension

2
推荐指数
1
解决办法
163
查看次数

如何在gdb中将命令的输出作为参数传递?

我有一个接受参数的C程序.我想通过gdb调试时传递参数,但我想通过python命令指定参数.所以,

(gdb) run >>python return "a"*20 #arg1 >>python return 1+2 #arg2

我怎样才能做到这一点?我想要这样做的原因是因为我想将字节码地址作为参数传递给程序,但是如果我将它作为一个sting传递它只是将所有内容转换为ASCII.即如果我尝试:

(gdb) run \xf7\xff\xba\xb5

那么我上面给出的地址只是转换成ASCII字符串而不是用作内存地址.我想如果我的第一个查询得到解答,我的第二个查询也可能得到解答.

谢谢.

debugging gdb

2
推荐指数
1
解决办法
3636
查看次数

如何使用Java 8转换Map的每个条目集的键和值?

我有一个Map<String, String>我想转换为Map<Type1,Type2>使用Java流的.

这是我尝试过但我认为我的语法错误:

myMap.entrySet()
.stream()
.collect(Collectors.toMap(e -> Type1::new Type1(e.getKey()), e -> Type2::new Type2(e.getValue))));
Run Code Online (Sandbox Code Playgroud)

也试过了

myMap.entrySet()
    .stream()
    .collect(Collectors.toMap(new Type1(Map.Entry::getKey), new Type2(Map.Entry::getValue));
Run Code Online (Sandbox Code Playgroud)

但我只是继续运行编译错误.我该如何改造?

java hashmap java-8 java-stream

2
推荐指数
1
解决办法
1550
查看次数

Python生成器输出是整数而不是数字

我刚刚在一周前了解了Python中的生成器.根据我的理解,'yield'返回一个生成器对象而不是整个数组.

这是我为获取整数的数字而编写的代码:

def getDigits(m):
    for d in str(m):
        yield int(m)
Run Code Online (Sandbox Code Playgroud)

这应该返回作为生成器对象传递给它的整数的数字.但当我这样做时:

for i in getDigits(123):
    print i
Run Code Online (Sandbox Code Playgroud)

我得到的输出为:

123
123
123
Run Code Online (Sandbox Code Playgroud)

代替:

1
2
3
Run Code Online (Sandbox Code Playgroud)

到底是怎么回事?难道我做错了什么?

python generator

0
推荐指数
1
解决办法
117
查看次数

*x = i和x =&i之间有什么区别?

*x=i和之间有什么区别x=&i

码:

int i=2;
int *x;

*x=i; //what is the difference between this...
x=&i; //...and this??

//Also, what happens when I do these? Not really important but curious.
x=i;
*x=*i;
Run Code Online (Sandbox Code Playgroud)

c pointers

0
推荐指数
1
解决办法
140
查看次数