小编Gur*_*dan的帖子

从SimpleHTTPServer Post数据中读取JSON

我正在尝试使用python SimpleHTTPServer构建一个简单的REST服务器.我在发布消息时遇到问题.如果我做得对,请告诉我.

from SimpleHTTPServer import SimpleHTTPRequestHandler
import SocketServer
import simplejson

class S(SimpleHTTPRequestHandler):
    def _set_headers(self):
        self.send_response(200)
        self.send_header('Content-type', 'text/html')
        self.end_headers()

    def do_GET(self):
        print "got get request %s" % (self.path)
        if self.path == '/':
          self.path = '/index.html'
          return SimpleHTTPRequestHandler.do_GET(self)

    def do_POST(self):
        print "got post!!"
        content_len = int(self.headers.getheader('content-length', 0))
        post_body = self.rfile.read(content_len)
        test_data = simplejson.loads(post_body)
        print "post_body(%s)" % (test_data)
        return SimpleHTTPRequestHandler.do_POST(self)

def run(handler_class=S, port=80):
    httpd = SocketServer.TCPServer(("", port), handler_class)
    print 'Starting httpd...'
    httpd.serve_forever()
Run Code Online (Sandbox Code Playgroud)

index.html文件

<html>
<title>JSON TEST PAGE</title>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript"> …
Run Code Online (Sandbox Code Playgroud)

python ajax rest simplejson simplehttpserver

34
推荐指数
2
解决办法
6万
查看次数

Python C扩展:致命Python错误:PyThreadState_Get:没有当前线程

我正在尝试构建一个使用ffmpeg库的基于C的Python扩展.由于我必须导入一堆库.我用过CMake.我按照python doc的说明进行操作

使用CMake构建没有任何问题.但是当我导入库时,我得到以下异常.

Fatal Python error: PyThreadState_Get: no current thread
Run Code Online (Sandbox Code Playgroud)

我使用mac与python2.7.14(使用Brew安装).

以下是我的

的CMakeLists.txt

cmake_minimum_required(VERSION 3.11)
project(extractor C)

set(CMAKE_C_STANDARD 99)

set(EXECUTABLE_NAME "extractor")

set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules)

set(EXTRACTOR_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
set(target_dir "bin")

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -std=99")

add_library(${EXECUTABLE_NAME} SHARED src/frame_extractor.c)
# add_library(${EXECUTABLE_NAME} SHARED src/dipoza.c)

# add_executable(${EXECUTABLE_NAME} main.c)
include_directories(".")
find_package(FFmpeg REQUIRED)

if (FFMPEG_FOUND)
    message("Found FFMPEG/LibAV libraries ${FFMPEG_LIBRARIES}")
    include_directories(${FFMPEG_INCLUDE_DIR})
    target_link_libraries(${EXECUTABLE_NAME} ${FFMPEG_LIBRARIES})
else (FFMPEG_FOUND)
    message("cant find libavcodec, libavformat or libavutil. add them manually!!")
endif (FFMPEG_FOUND)

target_link_libraries(${EXECUTABLE_NAME} ${FFMPEG_LIBRARIES})
target_link_libraries (${EXECUTABLE_NAME} "-lm")
target_link_libraries(${EXECUTABLE_NAME} "-framework CoreServices")
target_link_libraries(${EXECUTABLE_NAME} "-framework CoreFoundation")
target_link_libraries(${EXECUTABLE_NAME} …
Run Code Online (Sandbox Code Playgroud)

python cpython cmake python-extensions cmake-modules

6
推荐指数
0
解决办法
289
查看次数

python 2.7+中的组引用无效

我试图将我的网页(在django中创建)中的所有WikiLink类型的字符串转换为html链接.

我使用以下表达式

import re
expr = r'\s+[A-Z][a-z]+[A-Z][a-z]+\s'
repl=r'<a href="/photos/\1">\1</a>'
mystr = 'this is a string to Test whether WikiLink will work ProPerly'

parser=re.compile(expr)
parser.sub(repl, mystr)
Run Code Online (Sandbox Code Playgroud)

这将返回以下字符串,替换为字符串的十六进制值.

"this is a string to Test whether<a href='/mywiki/\x01>\x01</a>'will work<a href='/mywiki/\x01>\x01</a>'"
Run Code Online (Sandbox Code Playgroud)

查看re.sub 的python帮助,我尝试将\ 1更改为\ g <1>,但这会导致无效的组引用错误.

请帮助我了解如何使这项工作

python regex django

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