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);
});
Metadata
Release files for maybach-request 0.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| maybach_request-0.5.0.tar.gz | 2.8 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| maybach_request-0.5.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 5.6 kB
Release files / maybach_request-0.5.0.tar.gz
| Download URL | maybach_request-0.5.0.tar.gz |
|---|---|
| Size | 2.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a1a703bf40f70973fe02de4abcb2bde8acc275f939627707db29dc18cdb25551
|
|
BLAKE2b-256 checksum How to use checksums |
20d25c78b5f8f0bf1311f7861ada184e36035cd47f2784855073ac338446e225
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Release files / maybach_request-0.5.0-py3-none-any.whl
| Download URL | maybach_request-0.5.0-py3-none-any.whl |
|---|---|
| Size | 2.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ffd247fae5edc24dda781feff39cbf9a8fdbe89e91856d79ec363768f92998ce
|
|
BLAKE2b-256 checksum How to use checksums |
2c23556ac8af2c30b5baf42e14576b04e4b50a9513f1d29f2376bfcad7fda66b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Security for maybach-request 0.5.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.