Python能开发网站吗,python能搭建网站么

  Python能开发网站吗,python能搭建网站么

  前几天有朋友提出用python写python解释器的方法。我觉得这是个好问题,就去看了。我准备用python写。后来,我找到了一个。python中的子流程非常有趣。可以解释python自己的代码。其后

  今天就来分享一下如何用python写在线python。

  首先是结合python的flask框架完成的。首先,我将介绍flask框架。

  烧瓶也叫“微框”。因为使用了简单核心,所以在扩展中添加了其他功能。Flask中没有默认使用的数据库和表单验证工具。然而,Flask具有扩展的灵活性,这些功能可以在Flask-extension中添加。ORM、表单认证工具、文件上传以及各种开放认证技术。

  使用终端运行命令提示符CMD,然后执行以下操作:

  安装pip闪存

  在我们工作之前,让我们了解一下flask框架是如何工作的:

  首先,创建flaskrun.py文件。(写demo,然后在此基础上做修改,可以作为网站后端的界面。)

  每个函数都有一个修饰符。这代表了他的路线。例如指定的@app.route(/)。以下函数的地址是127.0.0.1:5000/。(默认端口为5000,可以通过run方法手动更改。) ) )

  在运行这个文件之前,如果我们没有设置app文件,就要先设置好,让它进入调试模式,然后再运行。

  set FLASK_APP=flaskrun.py

  set FLASK_DEBUG=1

  flask run

  运行到达后,服务将启动并跳出这样的界面。

  现在,您可以访问该路线。输入路线,因为您想要访问索引方法。

  如果您想要访问halo方法,此时您必须添加/hello路线:

  现在你已经进入了/你好的方法。每个方法对应一个根,包括最后一个帖子。

  这里还介绍了错误报告机制。

  如果路线或访问数据是错误的,我们一般无法得到正确的结果。此时,您需要看到flask对错误的解释。

  Flask还为错误提供了一个名为@app.errorhandler()的修饰符,错误代码在括号中。比如找不到页面,可以这样写。@app.errorhandler ) ) 404)。

  当然还有其他误差,比如400,500,405。我们都能捕捉到:

  好了,烧瓶的介绍结束了。然后我们走上正轨,在subprocess上写python。创建一个名为pyol.py的文件

  首先导入您想要使用的包:

  最好把导入os、sys、子进程、tempfile、time()代码分别敲出来。虽然也支持连接编写,但实际上是非标准的,建议单独编写。)

  这里也需要临时文件夹。运行python时使用此文件夹。

  TempFile = tempfile.mkdtemp(suffix=_test, prefix=python_)

  FileNum = int(time.time()*1000)

  重要的是,必须使用sys模块中的executable方法来获取python编译器的位置。这是解密python代码所必需的。

  EXEC=sys.executable

  必须定义编码方法。

  def decode(s):

   try:

   return s.decode(utf-8)

   except UnicodeDecodeError:

   return s.decode(gbk)

  默认情况下,所有内容都以utf-8编码。

  下面我们需要把用户写的python代码写到一个文件里:

  def write_file(pyname, code):

   fpath = os.path.join(TempFile, %s.py % pyname)

   with open(fpath, w, encoding=utf-8) as f:

   f.write(code)

   print(file path: %s % fpath)

   return fpath

  接下来,我们需要在主函数中定义执行方法。这时我们需要使用子流程的check_output方法返回子流程的输出结果(check_output是父流程等待子流程完成,将子流程返回到标准输出的输出结果)。

  outdata = decode(subprocess.check_output([EXEC, fpath], stderr=subprocess.STDOUT, timeout=5))

  输出返回结果:

  r[output] = outdata

  最后,退出程序并删除文件:

  try:

   os.remove(fpath)

   except Exception as e:

   exit(1)

  但实际上临时文件本身会被自动删除,这其实是多余的。于是我们的python就写成了。只需将其添加到下面的路线中,并通过邮件提交用户输入的数据。

  我们在flaskrun.py文件中导入以下模块:

  from flask import Flask

  from flask import request

  from flask import Response

  import json

  import pyol

  我们需要定义一个返回的头:

  def Response_headers(content):

   resp = Response(content)

   resp.headers[Access-Control-Allow-Origin] = *

   return resp

  之后,我们来写post请求的界面:

  @app.route(/run,methods=[POST])

  def run():

   if request.method == POST and request.form[code]:

   code = request.form[code]

   print(code)

   jsondata = pyol.main(code)

   return Response_headers(str(jsondata))

  我们将他的路由指定为/run,通过post的方式传递数据,调用刚刚编写的main函数的代码来执行用户传入的代码,最后将执行结果返回给用户。

  最后,我们运行代码:

  if __name__ == __main__:

   app.run(host=0.0.0.0,port=1234,debug=True)

  最后,优化后的完整代码如下:

  pyol.py

  flaskrun.py

  现在我们需要看看《和邮递员一起跑》的结果。首先,让我们运行代码。

  (烧瓶运行):

  然后我们开邮差。

  一瞬间就完成了。

  之后我们只需要写一个前端,把这个接口调整到前端,就大功告成了!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: