我正在尝试使用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) 我正在尝试构建一个使用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) 我试图将我的网页(在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>,但这会导致无效的组引用错误.
请帮助我了解如何使这项工作