小编Ram*_*hum的帖子

AutoHotKey:具有多行输入的InputBox

在AutoHotKey中,我希望有类似InputBox的东西,除了文本输入是多行的.(比如textarea).

我希望有两个按钮,"Ok"和"Cancel",我希望它们都有加速器.我希望这个代码是一个函数的形式,我可以从其他热键调用,以便随时获取多行用户输入.我希望能够设置显示对话框时显示的默认文本.如果按下取消按钮,我希望函数返回null或空字符串.我希望Esc键使对话框关闭,就像按下取消按钮一样(并且不退出整个脚本).我希望对话框显示在屏幕的中央,并使用Windows通常用于对话框的字体.

windows user-interface autohotkey

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

拦截一个窗口试图窃取对 Windows 的全局关注

我是一名开发人员,也是 Windows 的长期用户,一直痴迷于让我的系统尽可能方便地使用。

昨天我想到了一些在 Windows 中一直让我烦恼的事情,我认为这是理所当然的,我意识到我对它的工作方式有了更好的想法,现在我想知道是否可以调整 Windows 来工作像那样。

令我烦恼的是当 Windows 窃取焦点时。例如,我可能正在运行某个程序的安装程序。当它工作时,我会切换到我的浏览器并浏览,也许会在我的浏览器的电子邮件中输入一些文本。然后突然安装程序完成,它的窗口窃取了焦点。现在我正在写一封电子邮件,所以我可能会按下一个恰好绑定到该安装程序上的按钮的键,然后该按钮被调用,执行一些我从未打算发生的操作!

这对我来说很烦人,因为我正在使用一个名为 DexPot 的多桌面程序,当一个窗口窃取焦点时,它也会把自己带到我当前所在的桌面上,这真的很烦人,因为那时我必须把它放回原来的桌面。

我对这个问题的理想解决方案是如何工作的:每次窗口试图窃取焦点时,我们都会拦截它,并且不让它发生。我们显示类似烤面包机的消息,说“Foobar 安装程序需要焦点,按 Win-Whatever 切换到它”。如果当您按下组合键时,它会切换到窗口。

问题是:是否有一种简单的方法来调整 Windows 以实现这一目标?我对 Windows 编程知之甚少。我确实知道 AHK,如果可能的话,那就太好了。

windows keyboard usability focus

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

了解为什么 HTML 元素具有它所具有的大小的一般方法

我是一名经验丰富的 Web 开发人员。我花了数年时间开发 Web 应用程序,但我 90% 的工作都在后端,使用 Python 和 Django。最近我正在尝试改进我的前端技巧,即 HTML、CSS 和 JavaScript。

我遇到的一个常见问题是:我正在编写一个 HTML 页面,在 Chrome 中加载它,但其中一个元素的大小或位置与我想要的不同。也许它太宽了,也许它太窄了,可能太靠右了,可能太靠左了等等。由于我不是 HTML 和 CSS 方面的专家,而且我还没有记住所有这些晦涩难懂的小规则可以确定元素的大小和位置,这种情况经常发生,真的很令人沮丧。

发生这种情况时,我需要找出该元素的位置/大小错误的原因,以便我可以解决该问题。我想要的是找出为什么我的网页中的某个元素具有它所具有的大小和位置的一般方法。我期待这样的答案:“元素 Xwidth: 300px;的宽度为 300 像素,因为它具有属性”或“元素 Y 的宽度为 380 像素,因为它包含在元素 Z 中,元素 Z 的宽度为 400 像素,填充为 10 像素。” 当然,它不需要如此冗长,但我需要获取这些信息。

现在,我熟悉 Chrome 开发工具。我一直在使用它们。他们很棒。但我不明白他们如何为我回答这个问题。他们可以提供帮助,但我仍然发现自己必须分别调查每个案例,这可能需要数小时才能获得结果。(这只是今天发生的,这就是我花时间写这个问题的原因。)

有没有办法总是知道为什么 HTML 元素具有它的大小和位置?

html css

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

Python Windows启动程序不读取`py.ini`

我目前使用Python 3.4作为我的默认Python版本,但我想暂时将Python 2.7设置为默认值.

我在Windows 7上,我的Python脚本使用Python Windows启动器运行.文档说我可以通过创建py.ini文件来自定义它,但这不起作用.我创建了一个包含以下内容的文件:

[defaults]
python=2.7
Run Code Online (Sandbox Code Playgroud)

我已经尝试将它放在与我正在运行的文件相同的文件夹中,我尝试将其放入C:\Users\Administrator\,放入C:\Users\Administrator\AppData\和放入C:\Users\Administrator\AppData\Local\,但这些都不起作用.启动程序仍然使用Python 3.4.(当我双击Windows UI中的文件时,以及当我直接启动启动器时,两者都是py my_file.py.)

为什么Python Windows启动程序会忽略我的py.ini文件?

这是py age.py使用环境变量PYLAUNCH_DEBUG集运行的输出:

launcher build: 32bit                                                                 
launcher executable: Console                                                          
Using local configuration file 'C:\Users\Administrator\AppData\Local\py.ini'          
File 'C:\Windows\py.ini' non-existent                                                 
Called with command line: age.py                                                      
maybe_handle_shebang: read 256 bytes                                                  
maybe_handle_shebang: BOM not found, using UTF-8                                      
parse_shebang: found command: python                                                  
searching PATH for python executable                                                  
Python on path: C:\python34\python.EXE                                                
located python on PATH: …
Run Code Online (Sandbox Code Playgroud)

python windows

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

使用 SSH 隧道接受传入连接

我试图使用 SSH 隧道来完成一些事情,但我尝试在谷歌上搜索“SSH 隧道”并找到有关各种不同场景的讨论,但不是我的场景。

我正在计算机 A 上工作。我可以通过 SSH 访问计算机 B。我希望计算机 B 运行需要连接到计算机 A 上的端口 40000 的程序 X。问题是,计算机 B 应用了严格的防火墙,而我没有不想修改。我想要的是利用我的能力,轻松地从计算机 A 到计算机 B 连接 SSH,使从 B 到 A 的连接成为可能。

这就是我的设想:我在计算机 A 上运行的程序 Y,它通过 SSH 连接到计算机 B,然后在计算机 B 上侦听端口 40000 上的连接,并通过 SSH 连接将它们转发到端口 40000然后我在计算机 B 上配置程序 X 来尝试连接到计算机 B 上的端口 40000,然后它实际上连接到计算机 A 上的端口 40000。

是否有现有的程序/SSH 配方可以执行此操作?

ssh networking firewall tunnel

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

pytest:从夹具打印

我正在使用Pytest编写测试。我有一个这样的装置:

@pytest.yield_fixture(autouse=True, scope='session')
def manage_tests():
    print("Do stuff...")
    do_stuff()
    yield
Run Code Online (Sandbox Code Playgroud)

我在此处放置了一条打印语句,以便在运行测试时可以在控制台中看到它,以更好地了解程序的运行情况。但是我在控制台中看不到该文本,我猜想pytest会吞下它。有什么办法可以从固定装置打印?

python pytest

5
推荐指数
3
解决办法
1692
查看次数

Python 2.x中的`psycopg2`是否会阻止GIL

我正试着与同事解决争执.假设我有一个psycopg2用于与Postgres数据库通信的Python 2.6应用程序.该应用程序是多线程的.当一个线程使用数据库调用时psycopg2,是否会释放GIL,以便其他线程也可以进行数据库调用?

python postgresql gil

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

sys._current_frames() 中的孤立堆栈跟踪

这是一个深奥的纯 Python 问题。

我正在使用 进行一些统计分析sys._current_frames()。即我有一个sys._current_frames()每秒运行一次的后台线程,将结果转储到文本文件中,然后我有一些 Python 代码将回溯从最常见到最不常见进行排序。

我见过的一个奇怪的现象是这样的回溯:

  File "/opt/foo/bar.py", line 1437, in __iter__
    yield key
Run Code Online (Sandbox Code Playgroud)

yield是我写的一个生成器。奇怪的是,这个回溯上只有一帧。怎么会这样?另一个回溯有很多帧,要么来自进程的顶层,要么来自帧的顶层。这个单帧堆栈跟踪的含义是什么?

我的一个理论是,这是生成器的冻结状态,在生成一个值之后,它正在等待next再次调用它。但我认为我通过一个单独的实验反驳了这个理论:我制作了一个生成器,确保它暂停、调用 sys._current_frames(),但我没有看到那种堆栈跟踪。

python introspection generator stack-trace

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

NumPy:从可迭代创建多维数组

我有一个可迭代的元组,我想ndarray从中构建一个。说形状会是(12345, 67890)。什么是有效且优雅的方式来做到这一点?

以下是一些选项,以及我排除它们的原因:

  1. np.array(my_tuples)在知道数组大小之前就开始分配数组,根据 NumPy 的文档,这需要低效的重定位。

  2. 使用以下命令创建一个包含未初始化内容的数组np.ndarray((12345, 67890)),然后执行一个循环,用数据填充该数组。它有效并且高效,但有点不优雅,因为它需要多个语句。

  3. 使用np.fromiter它似乎仅适用于一维数组。

有人有更好的解决方案吗?

(我看过这个问题,但我没有看到任何有希望的答案。)

python arrays numpy

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

Keras:改变训练模型的结构

我是机器学习的新手。我正在通过给自己练习来使用 Keras 学习它。

这是我最近练习的视频。我训练了一个卷积神经网络来识别三个不同的对象。手机将图像发送到我桌面上运行 Keras 的 Web 服务器。

我花了一段时间才得到一个有效的模型。我首先在无菌背景下训练这 3 个对象的视频帧。我不知道这种技术是否有公认的名称,但我使用了一种“训练轮”方法。首先,我在一个非常简单的背景下训练模型。然后在更忙的背景上拍摄更多视频。我做了 6 轮,每一轮都有不同的背景。在每一轮中,我加载前几轮的权重,并在所有前几轮的组合数据集上训练网络。这个想法是让神经网络开始做一些简单的事情,然后逐渐扩展它的知识,而不是立即给它一个艰巨的任务。

这似乎奏效了,我现在在不同背景下识别这些物体时具有很好的准确性。我已将模型权重保存到文件中。

我的问题是:现在我有很好的训练有素的网络,是否有可能改变它的结构?例如,现在我正在裁剪图像并将其调整为 64x64。如果我想将其提高到 128x128,我可以使用到目前为止我训练过的权重吗?如果我想添加颜色怎么办(所以是 3 个通道而不是 1 个),是否可以不从头开始训练?

python machine-learning neural-network keras tensorflow

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