编程面试题

  • 通过subprocess.check_output调用的可执行文件在控制台上打印,但不返回结果

    如果程序直接写入控制台(例如,通过打开CONOUT$设备)而不是写入过程标准句柄,则唯一的选择是直接读取控制台屏幕缓冲区。为了简化此过程,请从新的空白屏幕缓冲区开始。通过以下功能创建,调整大小,初始化和激活新的屏幕缓冲区: CreateConsoleScr

  • SQLite和Python。值写入无错误,但程序终止后不会写入数据库

    从我看来,您最后不会调用commit()。但是,这可能不会将任何数据写入数据库。从SQLITE3文档中: Connection.commit() 此方法提交当前事务。如果不调用此方法,则从其他数据库连接中看不到自上次调用commit()以来所做的任何操作。如果您想知道为什么看不到已写入数据库的数据,请检查您是否没有忘记调用此方法。

  • Python:itertools.product()的更快替代品?

    大家都评论过,尝试直接使用生成器而不是使用列表。 查找 所有组合尚不清楚。如果需要打印它们,请执行以下操作: for i in itertools.productrange1, 10, repeat=22: ... #Don't actually print, that may block your computer for a long time.

  • PyQt,QThread,GIL,GUI

    我认为您在使用装饰器方面过于复杂。您可以使用大约3-4行设置代码轻松地将代码包装在新线程中。另外,我不认为您应该直接从另一个线程调用完成的插槽。您应该使用连接的信号将其激活。 import sys from time import sleep from PyQt5.QtCore import * from PyQt5.QtWidgets import * class SignalsQObject:

  • 夹具的Django自然键给出反序列化错误

    你需要 natural_key在模型中定义方法 有get_by_natural_key方法的经理 实际附上经理(objects=GraphManager) 在玩完您的代码后,我使它起作用: class GraphT

  • 根据其他行中的值删除行

    对于更一般的解决方案,account_status如果每个组中至少存在一个active值,则仅删除每个组中的另一个值: print df product product_id account_status 0 prod-A 100 active 1 prod-A 100 cancelled

  • Chmod仅递归目录?

    您可以os.walk用来遍历目录。(以下未测试,请自己尝试) for r, d, f in os.walkpath: os.chmodr, 0o777

  • 如何使用Python解释JavaScript

    你可以检查蜘蛛猴

  • 在哪里获取Python ANTLR包以使用StringTemplate?

    您需要python-antlr安装软件包才能使用stringtemplate3。在Ubuntu上安装的示例: % sudo aptitude install python-antlr % virtualenv ~virt % . ~virtbinactivate virt~% easy_install stringtemplate3 virt~%

  • 如何在文本文件中搜索单词并使用Python打印部分行?

    这是一种方法-用空格分隔每行,然后在每个部分中搜索“ color =“: with open"textfile.txt" as openfile: for line in openfile: for part in line.split: if "color=" in part: print part pre

  • 用龙卷风处理标准输入

    您可以add_handler在IOLoop实例上使用方法来监视上的事件stdin。 这是一个最小的工作示例: from tornado.ioloop import IOLoop from tornado.web import Application, RequestHandler import sys class M

  • 如何使我简单的扭曲代理工作?

    由于您的Simple类实现了该getChild方法,因此暗示这不是叶节点,但是您可以通过设置声明它是叶节点isLeaf = True。(叶节点如何生子?)。 尝试更改isLeaf = True为isLeaf = False,您会发现它会按预期重定向到代理。 从Reso

  • 核心4D图像tif存储为hdf5 python

    编辑:使用dask.array的imread功能 从那时起,dask 0.7.0您无需将图像存储在HDF5中。imread直接使用该函数: In [1]: from skimage.io import imread In [2]: im = imread'foo.1.tiff' I

  • np。将ND张量/阵列与一维数组连接

    您可以使用np.repeat: r = np.concatenatea, b.reshape1, 1, -1.repeata.shape[0], axis=0, axis=1 它的作用是,首先调整b数组的形状以匹配的尺寸a,然后根据a的第一个轴根据需要重复其

  • 删除序数超出范围的字符串中的所有字符

    new_safe_str = some_string.encode'ascii','ignore' 我认为会工作 或者您可以进行列表理解 "".join[ch for ch in orig_string if ordch= 128] [edit]但是正如其他人所说的,通常最好弄清楚如何

  • 如何在Seaborn中控制图例-Python

    首先,要访问由seaborn创建的图例,需要通过seaborn调用来完成。 g = sns.factorplot... legend = g._legend 然后可以操纵这个传说 legend.set_title"Sex" for t, l in ziplegend.texts,"Male", "Female": t.

  • 通过定时自动删除元素设置类

    只是一个想法(当然,这不是最好的):使用字典存储每个添加项的时间戳以及每个项目的具体超时。然后,当您要检查某项是否在集合中时,您必须将当前时间与字典中的值进行比较。这样,您无需在超时结束时启动新线程来删除每个项目(只需将键保留在字典中,并在再次添加该项目时对其进行更新)。 有了这个解决方案,您必须实现__contains__和__iter__远离add

  • 如何通过tasytpie API将产品放入购物车?

    我认为您应该创建一个关系资源。请检查以下代码: class LikeResourceModelResource: profile = fields.ToOneFieldProfileResource, 'profile',full=True post = fields.ToOneFieldPostResource,'post' class Meta: quer

  • Python Tkinter中的单选按钮值

    聚会晚了一点,但是我在尝试在Tkinter单选按钮上找到东西时偶然发现了这个问题。 问题1: 我改变了三件事: 1)我立即设置的值var给1你定义后。这样做var.set1可以确保您选择了第一个单选按钮(其值为1,如稍后在代码中所定义)。 2)我已将您的master.quit

  • 如何确保通常(但错误地)期望在Python类上调用__del__函数?

    如果您了解所有这些内容,为什么不以Pythonic的方式来做呢?比较另一个需要清除的类:tempfile.TemporaryDirectory。 with TemporaryDirectory as tmp: # ... # tmp is deleted def foo: tmp = TemporaryDirectory foo # tmp is del

  • Python:在从属模式下将命令发送到mplayer

    .communicate每个子流程只能使用一次。因此,在while循环中使用它不起作用。 相反,您应该p.stdout直接解析的输出。如果有答案,则每个答案似乎只有一行。 为了防止阻塞,您有3种选择: 使用线程。您有一个单独的线程,该线程从p.stdout主线程

  • 关于Python 2.x中的属性动态分配

    文档中有关于此的注释: http:docs.python.org3libraryfunctions.html#object bloc

  • python:将for循环转换为递归函数

    我将按以下方式进行处理: def recursiveinput, output=None: if output is None: output = {} # container to store results if 'children' in input: # do whatever, add things to output recursiv

  • 如何在Pytorch中使用CUDA流?

    s1 = torch.cuda.Stream s2 = torch.cuda.Stream # Initialise cuda tensors here. E.g.: A = torch.rand1000, 1000, device = ‘cuda’ B = torch.rand1000, 1000, device = ‘cuda’ # Wait for the above tensors to initialis

  • Pyodbc + sqlalchemy失败超过2100个项目

    您的查询基本上是在强制SQLAlchemy发出具有2000多个参数(SELECT * WHERE Y IN list of 2000+ values)的查询。不同的RDBMS(和不同的驱动程序)对您可能拥有的参数数量有限制。 尽管您的堆栈跟踪未涵盖确切的错误,但我注意到您正在使用SQL Server,并且您所谈论的数字在某些情况下可疑接近SQL Server施加的2100参数限制(请参阅

  • 如何从文本文件中删除标点符号

    使用str.translate删除代码点; None删除任何映射到的代码点: remove = dict.fromkeysmapord, '\n ' + string.punctuation

  • __name__的目的是什么?

    __name__是"__main__",如果你直接执行脚本。如果要导入模块,__name__则为模块的名称。 foo.py: print__name__ bar.py import foo 运行脚本:p

  • 您将如何确定Python类的每个属性和方法的定义位置?

    您正在寻找未记录的功能inspect.classify_class_attrscls。将它传递给一个类,它将返回一个元组列表'name', 'kind' e.g. 'method' or 'data', defining class, property。如果您需要有关特定实例中绝对所有内容的信息,则必须进行其他工作。 例: &g

  • Tkinter网格中的滚动条

    使布莱恩·奥克利的答案适应您的特定问题: 以画布为父创建框架 使用canvas作为参数 scrollregion 注意:在python中进行子类化时,您不需要存储parent的结果,__init__

  • 如何使用Python根据城市确定地区,国家和大陆?

    多亏了Kimvais和Lennart Regebro的帮助,我才找到了一种非常简单的方法来做自己想做的事情,并且我想在这里将基本步骤发布给其他遇到相同问题的人。 安装geopy(http:code.google.com

  • 熊猫:重新采样数据框列,获取对应于最大值的离散特征

    您可以重新采样以获取值的arg max,然后使用它来提取名称和值 df.resample'2D'[['value']].idxmax .assignnames=lambda x: df.loc[x.value]['names'].values, value=lambda x: df.loc[x.value]['value'].values Out[116]:

  • 通过字符串导入从模块导入*

    这是一个解决方案:导入模块,然后在当前名称空间中一个接一个地创建别名: import importlib # Import the module mod = importlib.import_module'collections' # Determine a list of names to copy to the current name space names = getattrmod, '__al

  • 必须为'app_label.ModelName'形式。“%model ValueError:无效的模型引用

    具有相同错误消息的情况略有不同: ValueError:无效的模型引用’users.models.MyUser’。字符串模型引用的格式必须为“ app_label.ModelName”。 错误是我models在MyUser模型的路径中指定的: AUTH_USER_

  • 使用Python连接到远程sqlite3数据库

    SQLite是仅嵌入式的。您需要先挂载远程文件系统,然后才能访问它。而且,不要尝试一次让多台机器访问SQLite数据库。SQLite不是为此而构建的。如果需要,请改用PostgreSQL之类的东西。

  • Django在数据库中实现默认值

    从ln开始的对django db backends base schema.py的注释。571,详细说明此处涉及的步骤: 当使用给定的默认值将列NULL约束更改为NOT NULL时,

  • 查看功能列表时出现Calltips / Docstring?

    使用一个宏,该宏将插入所选功能,添加括号并自动触发调用提示。这两个弹出窗口无法同时显示,因此请将该宏分配给键盘快捷键,并在该快捷键和撤消快捷键之间交替以添加删除括号并显示隐藏功能列表: komodo.assertMacroVersion2; if komodo.view komodo.view.scintilla { komodo.view.scintilla.focus;

  • 有关pandas value_counts函数的说明

    根据文档,它会生成非空值的直方图。只是看在列Qu1的result,我们可以告诉大家,有一个1,零点2的两个3的,两个4的和零5名在原始列data.Qu1。

  • 在熊猫变换中应用几种功能

    我认为现在(pandas 0.20.2)函数transform未dict使用具有类似功能的列名实现agg。 如果函数返回的cod

  • PyAudio输入溢出-9981-无解决方案

    您是否尝试将exception_on_overflow设置为False?从Pyaudio文档中: readnum_frames, exception_on_overflow=True 从流中读取样本。使用非阻塞模式时请勿呼叫。 参数:num_frames –要读取的帧数。exception_on_overflow –指定是否应在输入缓冲区溢出时引

  • 适用于新手的Python版本[关闭]

    我要说的是2.6,因为关于Python的绝大多数文档将适用于2.6,并且您可能想贡献的大多数开源项目都将在2.6中使用一段时间。然后,一旦有了2.6的良好基础,就可以学习3.0。这样一来,您就可以体会到语言的发展方式以及代码的“美感”来自何处。