我对不同类型的标识符案例感兴趣,以及人们称之为什么.您是否知道此列表或其他替代名称的任何添加内容?
我有一个 Jupyter Notebook 正在运行。我希望能够从 Python 中访问当前 Jupyter Notebook 的源代码。我的最终目标是将其传入,ast.parse以便我可以对用户的代码进行一些分析。理想情况下,我可以做这样的事情:
import ast
ast.parse(get_notebooks_code())
Run Code Online (Sandbox Code Playgroud)
显然,如果源代码是 IPYNB 文件,则需要从 Python 单元中提取代码的中间步骤,但这是一个相对容易解决的问题。
到目前为止,我已经找到了将使用list_running_serversIPython 对象的函数来发出请求并匹配内核 ID 的代码 - 这为我提供了当前正在运行的笔记本的文件名。这会起作用,但磁盘上的源代码可能与用户在浏览器中的内容不匹配(直到您保存新的检查点)。
我已经看到一些涉及使用 JavaScript 提取数据的想法,但这需要一个带有魔法的单独单元格或调用 display.Javascript 函数 - 异步触发,因此不允许我将结果传递给ast.parse.
对于如何在 Python 中以字符串形式动态获取当前笔记本源代码以供立即处理,任何人都有任何聪明的想法?如果我需要使它成为扩展甚至内核包装器,我完全没问题,我只需要以某种方式获取源代码。
这两个不同的代码组织之间是否存在语义或运行时差异?或者仅仅是简洁和空白的问题?
if something:
...
else:
if other:
...
else:
...
Run Code Online (Sandbox Code Playgroud)
比.
if something:
...
elif other:
...
else:
...
Run Code Online (Sandbox Code Playgroud) 我最近开始将 SQLite 数据库移植到 PostGreSQL,以用于使用 SQLAlchemy 构建的 Flask 站点。我在 PGSQL 中有我的模式,甚至将数据插入到数据库中。但是,我无法运行常用的 INSERT 命令来向数据库添加信息。通常,我使用 SQL Alchemy 插入新记录,将 ID 列保留为 NULL,然后仅设置其他列。但是,这会导致以下错误:
sqlalchemy.exc.IntegrityError: (psycopg2.IntegrityError) null value in column "id" violates not-null constraint
DETAIL: Failing row contains (null, 2017-07-24 20:40:37.787393+00, 2017-07-24 20:40:37.787393+00, episode_length_list = [52, 51, 49, 50, 83]
sum_length = 0
for ..., 0, f, 101, 1, 0, 0, , null).
[SQL: 'INSERT INTO submission (date_created, date_modified, code, status, correct, assignment_id, course_id, user_id, assignment_version, version, url) VALUES (CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, %(code)s, %(status)s, %(correct)s, %(assignment_id)s, %(course_id)s, …Run Code Online (Sandbox Code Playgroud) python ×2
camelcasing ×1
case ×1
if-statement ×1
naming ×1
postgresql ×1
sqlalchemy ×1
sqlite ×1
structure ×1