Skip to main content

No project description provided

Project description

maybach_request

用户实现 Python 自动批改的库

下载

pip install maybach_request

使用

举一个例子,现在要断言一下代码的正确性:

# main.py
# student_code_starts
name = input('请输入姓名:')
print(name)
# student_code_ends

要求:用户输入 xigua,控制台能正确打印出来 xigua 并且能检查到 name 变量为 xigua

# test.py
from maybach-request import get_print, send_print, pass_test, no_pass_test

# 获取用户的输入
# 模拟一个用户的输入
send_print('xigua')
# 获取用户的输入
text = get_print()
passed = False
msg = '请打印name变量'
if name == 'xigua':
  for i in text:
    if i.find('xigua'):
      passed = True
      msg = 'success'
      break
else:
  msg = '请声明name变量'

if passed:
  # 通过测试
  pass_test(msg)
else:
  # 测试不通过
  no_pass_test(msg)

运行 python test.py --port 3004 --host 127.0.0.1,当不传 --host 默认使用 127.0.0.1

依赖

maybach_request 依赖服务提供接口获取用户的输入,以及通知服务测试的结果。 @xigua/maybach-server 提供了整套服务。

动态端口号

maybach_request 依赖的服务端口号是动态产生的,因此在执行相应的 python 代码的时候,需要通过 argv的形式传递给 python 进程

python xxx.py --port port

这样 maybach_request 能够拿到相应的端口号,跟对应的进程通信。如果使用了 @xigua/maybach-vm

import { run } from '@xigua/maybach-vm';

run(0, xxx.py, cwd, ['--port', port]).then((res) => {
  console.log(res);
});

run(1, 'print(123)', cwd, ['--port', port], (res) => {
  console.log(res);
});

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

maybach_request-0.5.0.tar.gz (2.8 kB view details)

Uploaded Source

Built Distribution

maybach_request-0.5.0-py3-none-any.whl (2.8 kB view details)

Uploaded Python 3

File details

Details for the file maybach_request-0.5.0.tar.gz.

File metadata

  • Download URL: maybach_request-0.5.0.tar.gz
  • Upload date:
  • Size: 2.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1.post20200604 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.3

File hashes

Hashes for maybach_request-0.5.0.tar.gz
Algorithm Hash digest
SHA256 a1a703bf40f70973fe02de4abcb2bde8acc275f939627707db29dc18cdb25551
MD5 0e1fa5024def2ab0eb65f10e1cdbea0a
BLAKE2b-256 20d25c78b5f8f0bf1311f7861ada184e36035cd47f2784855073ac338446e225

See more details on using hashes here.

File details

Details for the file maybach_request-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: maybach_request-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 2.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1.post20200604 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.3

File hashes

Hashes for maybach_request-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ffd247fae5edc24dda781feff39cbf9a8fdbe89e91856d79ec363768f92998ce
MD5 c7b4e3a7a170b45d27ccca91bd6fa51f
BLAKE2b-256 2c23556ac8af2c30b5baf42e14576b04e4b50a9513f1d29f2376bfcad7fda66b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page