小编ran*_*mir的帖子

通过Curl将JSON-Request发送到Flask

我在烧瓶中设置了一个非常简单的邮政路线:

from flask import Flask, request

app = Flask(__name__)

@app.route('/post', methods=['POST'])
def post_route():
    if request.method == 'POST':

        data = request.get_json()

        print('Data Received: "{data}"'.format(data=data))
        return "Request Processed.\n"

app.run()
Run Code Online (Sandbox Code Playgroud)

这是我尝试从命令行发送的curl请求:

curl localhost:5000/post -d '{"foo": "bar"}'
Run Code Online (Sandbox Code Playgroud)

但仍然打印出"收到的数据:"无"".所以,它无法识别我传递的JSON.

在这种情况下是否有必要指定json格式?

python windows json curl flask

16
推荐指数
1
解决办法
1万
查看次数

Git自动完成自定义bash功能

在我看来.bash_profile,我有很多git的功能快捷方式.例如:

function gitpull() {
    branch="$1"

    if [[ -z $branch ]]; then
        current_branch=`git symbolic-ref -q --short HEAD`
        git pull origin $current_branch;
    elif [[ -n $branch && $branch == "m" ]]; then
        git pull origin master;
    else
        git pull origin $branch;
    fi;
}
Run Code Online (Sandbox Code Playgroud)

但是,当我在终端中键入它时,我希望它能自动完成git分支.我该怎么做呢?(我已经在使用了.git-completion.bash)

git bash bash-completion

6
推荐指数
1
解决办法
587
查看次数

在python中遍历日期范围

好的,所以我对编程还比较陌生,这让我感到非常困惑。我从网站上抓取数据,并且数据每周都会更改。每当数据从2015年9月9日开始更改为最新数据时,我都希望运行我的抓取过程。

我知道如何通过每个数字(例如0909然后0910然后0911)轻松地运行此操作,但这不是我所需要的,因为这将导致服务器发出太多毫无意义的请求。

这是URL的格式 http://www.myexamplesite.com/?date=09092015

我知道很简单:

for i in range(startDate, endDate):
    url = 'http://www.myexamplesite.com/?date={}'.format(i)
    driver.get(url)
Run Code Online (Sandbox Code Playgroud)

但是我一直无法弄清的一件事是操纵python dateTime来准确反映网站使用的格式。

即:09092015 09162015 09232015 09302015 10072015 ... 09272017

如果所有其他方法都失败了,那么我只需要执行一次操作,这样就不会花费太长的时间来完全忽略循环,而只需手动输入我希望从中抓取的日期,然后将所有数据帧附加在一起即可。我主要对在将来可能需要更多数据的项目中如何操纵日期时间函数感到好奇。

python datetime loops

5
推荐指数
1
解决办法
3219
查看次数

如何在没有stdbuf和类似工具的情况下解除传统运行二进制文件的stdout

我想监视我将要开始的程序的实时输出.我试图通过将程序的输出重定向到管道,然后从监视脚本中读取管道来实现此目的.

./program >> apipe
Run Code Online (Sandbox Code Playgroud)

然后从监控脚本

cat apipe
Run Code Online (Sandbox Code Playgroud)

但是由于>>中的缓冲区,没有输出.无论如何我可以禁用此缓冲区?我在一个准系统嵌入式系统(petalinux)上运行,因此我无法访问unbuffer,脚本或stdbuf来帮助我.

我已经尝试了另一个平台上的脚本,其中unbuffer可用,它可以正常工作.

我可以用任何方式配置这个缓冲区,或使用另一个二进制文件来重定向?

编辑:我无法访问我尝试运行的命令的源代码.它是传统的二进制文件.

bash buffer pipe petalinux

4
推荐指数
1
解决办法
560
查看次数

如何防止在 make / shell 中对字符串进行评估?

我有这个makefile:

echo:
    echo "PASS=$(PASS)"
Run Code Online (Sandbox Code Playgroud)

我调用:

PASS='MYPA$$' make
Run Code Online (Sandbox Code Playgroud)

这显示了我:

echo "PASS=MYPA$"
PASS=MYPA$
Run Code Online (Sandbox Code Playgroud)

有人在评估$$->$

这是壳吗?不是在输入值时,因为我使用单引号,防止外壳对其进行评估。

也许 make 调用的 shell 正在执行此操作...

或者是不是 make本身?

我怎样才能避免它?

bash shell makefile gnu-make

4
推荐指数
1
解决办法
614
查看次数

在Python中使用序列匹配器查找最长公共字符串

我试图difflib.SequenceMatcher在Python中使用返回最大的公共字符串

string1="""ERROR agave_util.py:64 Timed out waiting for HA alert generated CRITICAL ha_test_util.py:44 HA alert generated, Stack:File "/main/qa/py/qa/agave/nutanix_test_runner_worker.py", line 909, in <module>    main(FLAGS, sync_state)  File "/main/qa/py/qa/agave/nutanix_test_runner_worker.py", line 878, in main    worker.run(sync_state)  File "/main/qa/py/qa/agave/nutanix_test_runner_worker.py", line 326, in run    if not self.__test_phase_wrapper(test_method):  File "/main/qa/py/qa/agave/nutanix_test_runner_worker.py", line 502, in __test_phase_wrapper    func()  File "/main/qa/test/agave/acropolis_tests/ha/best_effort_power_off_test.py", line 87, in test_stargate_master_power_off    self._host_power_off_test_cycle(host_of_stargate_master)  File "/main/qa/test/agave/acropolis_tests/ha/best_effort_power_off_test.py", line 27, in _host_power_off_test_cycle    self.ha_util.power_off_and_check_ha(host)  File "/main/.python/qa/util/agave_tools/ha_test_util.py", line 469, in power_off_and_check_ha    self.wait_for_ha_alert(cutoff_usecs=latest_alert_start, **kwargs)  File "/main/.python/qa/util/agave_tools/ha_test_util.py", line 418, in wait_for_ha_alert    interval=interval,  File "/main/.python/qa/util/agave_tools/ha_test_util.py", line …
Run Code Online (Sandbox Code Playgroud)

python sequence

3
推荐指数
1
解决办法
1720
查看次数

如何用repr重建对象?

除了最后一部分,我的代码工作正常。我想用repr函数重新创建对象,但显然不起作用。我在这里和网络上都尝试过一切,但我仍然感到困惑。有没有办法做到这一点,如果语法是什么?

class Modulo(object):

    def __init__(self, grondtal, waarde = 0):
        self.grondtal = grondtal
        self.waarde = waarde % grondtal

    def __call__(self, m):
        return Modulo(self.grondtal, m)

    def __add__(self, other):
        return Modulo(self.grondtal, self.waarde + other.waarde)

    def __sub__(self, other):
        return Modulo(self.grondtal, self.waarde - other.waarde)

    def __mul__(self, other):
        return Modulo(self.grondtal, self.waarde * other.waarde)

    def __eq__(self, other):
        return self.waarde == other.waarde and self.grondtal == other.grondtal

    def __ne__(self, other):
        return not self.__eq__(other)

    def __str__(self):
        return  '[%s %% %s]' % (str(self.grondtal), str(self.waarde))

    def __repr__(self):
        return '%s' %Modulo(self.grondtal, self.waarde)
Run Code Online (Sandbox Code Playgroud)

python repr representation

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

变量在 sed 命令中不起作用

如何使用变量代替3下面的命令?

sed -i '3s/$/ newvalue/' filename
Run Code Online (Sandbox Code Playgroud)

我试过

var=1
sed -i '$vars/$/ newvalue/' filename
sed -i "$vars/$/ newvalue/" filename
Run Code Online (Sandbox Code Playgroud)

shell sed

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

Python中并发。未来的多线程不起作用

我正在尝试让多线程在我的程序中工作。但是它从不执行我的worker函数functionNamefuture.done() 总是返回,False并且永远不会打印“已输入功能”文本。

def functionName(par1, par2, par3):
    print("function entered")

with ThreadPoolExecutor(max_workers=2) as executor: 
    for x in items:      #this loops 8000 times
        future = executor.submit(functionName, parameter1, parameter2, parameter3)
        if future.done():
            print("true")
Run Code Online (Sandbox Code Playgroud)

python multithreading python-3.x concurrent.futures

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