小编bzz*_*zzr的帖子

是否有python标准库中所有ASCII字符的列表?

是否有字段或函数可以返回python标准库中的所有ASCII字符?

python

17
推荐指数
2
解决办法
1万
查看次数

运行Python 3.5解释器需要哪些标准库模块?

这是一个CPython程序,试图用空的初始化解释器sys.path:

#include <Python.h>

int main(int argc, char** argv)
{
    wchar_t* program = NULL;
    wchar_t* sys_path = NULL;

    Py_NoSiteFlag = 1;

    program = Py_DecodeLocale(argv[0], NULL);
    Py_SetProgramName(program);

    sys_path = Py_DecodeLocale("", NULL);
    Py_SetPath(sys_path);

    Py_Initialize();

    PyMem_RawFree(program);    
    PyMem_RawFree(sys_path);
    Py_Finalize();
}
Run Code Online (Sandbox Code Playgroud)

执行上述程序会引发以下错误:

Fatal Python error: Py_Initialize: Unable to get the locale encoding
ImportError: No module named 'encodings'

Current thread 0x00007ffff7fc6700 (most recent call first):
Signal: SIGABRT (Aborted)
Run Code Online (Sandbox Code Playgroud)

那么除了encodings包之外,Python 3.5标准库中的哪些包和模块是运行Python 3.5解释器所必需的?在我的文档中似乎没有这些信息.

python python-embedding python-3.x python-internals python-3.5

8
推荐指数
1
解决办法
512
查看次数

在Windows上使用tkinter支持嵌入Python 3.5

我的项目结构如下所示:

emb
|   CMakeLists.txt
|   main.c
|   python35.lib
|   stdlib.zip
|   _tkinter.pyd
|
+---include
|   |
|   |   abstract.h
|   |   accu.h
|   |   asdl.h
...
|   |   warnings.h
|   |   weakrefobject.h
|
+---build
|   |   emb.exe
Run Code Online (Sandbox Code Playgroud)

stdlib.zip包含Python 3.5.2安装中的DLL,Libsite-packages目录,其路径被追加到sys.path.我通过链接到python35.lib隐式加载python35.dll,python35.lib包含DLL中所有导出函数的存根.这是CMakeLists.txt的内容:

cmake_minimum_required(VERSION 3.6)
project(embpython)

set(SOURCE_FILES main.c)
add_executable(${PROJECT_NAME} ${SOURCE_FILES})

set(PYTHON_INCLUDE_DIR include)
include_directories(${PYTHON_INCLUDE_DIR})

target_link_libraries(
        ${PROJECT_NAME}
        ${CMAKE_CURRENT_LIST_DIR}/python35.lib
        ${CMAKE_CURRENT_LIST_DIR}/_tkinter.pyd)
Run Code Online (Sandbox Code Playgroud)

这是main.c的内容:

#include <Python.h>

int main(int argc, char** argv) …
Run Code Online (Sandbox Code Playgroud)

c windows tkinter python-embedding python-3.5

7
推荐指数
1
解决办法
1399
查看次数

我是否必须卸载旧的 python 版本才能在 Windows 上更新到新版本?

我安装了 python 3.2,我想知道在安装较新版本之前是否必须卸载较早版本。

python windows python-3.x

6
推荐指数
1
解决办法
2万
查看次数

如何在pygame中等待一段时间?

自从我开始学习Python和Pygame以来,我一直在我的代码中使用time.wait,我一直想知道是否有其他方法可以做到这一点以及每种方法的优点和缺点是什么.例如,Pygame也有一个pygame.time.wait.python的wait和pygame的等待函数有什么区别?哪一个更好?除了使用这两个函数之外还有其他方法可以等待一段时间吗?

python time pygame wait

5
推荐指数
2
解决办法
2万
查看次数

on_delete='CASCADE' 好像没有效果

User我在两个模型和之间有多对多关系,Role通过中间表实现,UserRoleThrough,它有两个ForeignKeyFields:一个引用User,另一个引用Role。据我从文档中了解到,ON DELETE功能是通过参数初始化来支持ForeignKeyFieldon_delete。尽管不太清楚on_delete可以采用什么值,但文档给出了一个示例,例如'CASCADE'。话虽这么说,on_delete='CASCADE'似乎没有效果,因为尝试从父表之一删除行会引发错误。

peewee.IntegrityError: FOREIGN KEY constraint failed
Run Code Online (Sandbox Code Playgroud)

使用数据库浏览器检查生成的架构表明外键未使用 ON DELETE 声明。

CREATE TABLE "userrolethrough" (
    "id" INTEGER NOT NULL PRIMARY KEY,
    "user_id" INTEGER NOT NULL,
    "role_id" INTEGER NOT NULL,
     FOREIGN KEY ("user_id") REFERENCES "user" ("id"),
     FOREIGN KEY ("role_id") REFERENCES "role" ("id")
)
Run Code Online (Sandbox Code Playgroud)

那么我在这里做错了什么?我怎样去on_delete上班?这是使用 Python 3.6 和 Peewee 3.0.2 的最小可重现示例。

import peewee

db_proxy = …
Run Code Online (Sandbox Code Playgroud)

python peewee

5
推荐指数
1
解决办法
4664
查看次数

获取包含调用函数的脚本的路径

假设我有两个文件,foo.py并且bar.py. 它们位于何处并不重要,只要以foo.py某种方式设法导入并调用后者中定义的bar.py函数即可。func()我如何获得foo.pyfrom的绝对路径bar.func()

python

5
推荐指数
1
解决办法
2546
查看次数

有没有办法让Tkinter中的Text小部件不可点击且不可编辑?

是否可以在Tkinter中制作一个不可点击且不可编辑的文本小部件?

python tkinter

2
推荐指数
1
解决办法
952
查看次数

2
推荐指数
2
解决办法
200
查看次数

将列表成员分配给不同变量的最简单方法是什么?

我能做到这一点的唯一方法是:

var1 = list[0]
var2 = list[1]
var3 = list[2]
var4 = list[3]
...
Run Code Online (Sandbox Code Playgroud)

有更简单的方法吗?

python

1
推荐指数
1
解决办法
58
查看次数

如何从两个交叉点制作rect?

我正在研究一个突破性的克隆,我一直试图弄清楚如何获得两个碰撞反射的交叉矩形因此我可以测量球在x和y轴上进入块的深度,并决定哪个部分是速度我会逆转.

我想我可以像这样计算每个案例的深度:

球与块碰撞

但是,如果我有交叉矩形而不是我不必担心如果球从左/右顶部/底部撞击块(因为我将只分别反转x和y轴),因此节省了我很多打字.

我看过Pygame的文档,但似乎它没有这个功能.我该如何解决这个问题?

python pygame rect breakout

1
推荐指数
1
解决办法
3352
查看次数