小编bia*_*lix的帖子

是否有热键在分割窗口窗格之间切换?

Visual Studio Code具有热键组合,可将当前窗口拆分为2或3个窗格:

"key": "ctrl + \",               "command": "workbench.action.splitEditor"
Run Code Online (Sandbox Code Playgroud)

不幸的是,我找不到在没有鼠标的情况下在这些窗格之间切换的方法.我习惯使用的习惯F6也不起作用.

它是否在Visual Studio代码编辑器中受支持?

hotkeys visual-studio-code

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

如何用PIL(Python成像)反转图像的颜色?

我需要将在黑色背景字母上绘制为白色的一系列图像转换为白色和黑色被反转的图像(作为负片).如何使用PIL实现这一目标?

python python-imaging-library

47
推荐指数
3
解决办法
6万
查看次数

C/C++:如何使用do-while(0); 构造没有编译器警告,如C4127?

由于本答案中描述的原因,我经常在我的#defines中使用do-while(0)构造.此外,我正在尝试使用尽可能高的编译器警告级别来捕获更多潜在问题,并使我的代码更加健壮和跨平台.所以我通常使用-Wallgcc和/WallMSVC.

不幸的是,MSVC抱怨do-while(0)构造:

foo.c(36) : warning C4127: conditional expression is constant
Run Code Online (Sandbox Code Playgroud)

我应该怎么做这个警告?

只是为所有文件全局禁用它?对我来说这似乎不是一个好主意.

c c++ macros compiler-warnings visual-c++

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

在64位Python上使用sys.platform =='win32'检查是否安全?

区分在Windows上运行Python应用程序和在其他操作系统(通常是Linux)上运行的通常检查是使用条件:

if sys.platform == 'win32':
    ...
Run Code Online (Sandbox Code Playgroud)

但我想今天使用64位Python在过去几年中使用得更广泛是否安全?32真的意味着32位,还是基本上它指的是Win32 API?

如果有可能将一天的sys.platform作为'win64',那么这种情况会更普遍吗?

if sys.platform.startswith('win'):
    ...
Run Code Online (Sandbox Code Playgroud)

还有另一种检测Windows的方法我知道:

if os.name == 'nt':
    ...
Run Code Online (Sandbox Code Playgroud)

但我真的从未在其他代码中看到后者的使用.

那么最好的方法是什么?

UPD:如果可以,我想避免使用额外的库.需要安装额外的库以检查我是否在Windows中工作可能对Linux用户来说很烦人.

python windows 64-bit cross-platform 32bit-64bit

42
推荐指数
3
解决办法
1万
查看次数

如何记录Linux上的内存消耗?

是否有任何现成的解决方案来记录系统启动时的内存消耗?我想将数据记录到简单的文本文件或某个数据库中,以便稍后进行分析.

我正在研究基于Linux 2.4的嵌入式系统.我需要调试与内存消耗相关的问题.我的应用程序会自动启动每个系统启动.我需要从定期间隔(尽可能经常)获取带时间戳的数据的方法,这样我就可以追踪问题.

我的问题的症状:当系统启动时,它启动了我的主应用程序和GUI,以可视化系统的主要参数.GUI基于GTK +(X服务器).如果我禁用GUI和X服务器,那么我的应用程序工作正常.如果我启用GUI和X服务器,当我在主板上安装256 MiB或512 MiB的物理内存时,它不起作用.如果我安装了1 GiB内存,那么一切正常.

linux logging memory-consumption

38
推荐指数
6
解决办法
4万
查看次数

如何使用PyQt4将文件移动到不同平台上的回收站/垃圾箱?

我想在我的跨平台PyQt4应用程序中添加下一个功能:当用户选择某个文件并选择"删除"操作时,该文件将被移动到回收站文件夹而不是永久删除.我想我可以使用Win32 API或类似的东西找到特定于Windows的解决方案,但我想知道在Ubuntu/Linux和MaxOSX上也可以通过PyQt4方法执行类似的操作.

python recycle-bin cross-platform qt4 pyqt4

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

如何在github上镜像启动板上托管的项目?

我想积极参与Launchpad上托管的项目.我对GitHub感觉更舒服,并希望尽可能继续使用它.我能在github上镜像bzr存储库吗?

如果有可能,我该如何设置?

git bazaar github launchpad

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

是否有类似于bzr qannotate的git blame gui?

作为一个以前的bzr用户和新手,git我正在努力寻找git blame类似的好GUI工具bzr qannotate.后者有两个主要观点:

  1. 具有短注释信息的文件内容查看器(谁在哪个版本中更改了行)+基于提交者ID和更改年龄的背景着色.
  2. 文件日志查看器:当我单击文件内容中的行时,我可以看到该行更改时的修订以及有关它的所有日志信息.

截图: 在此输入图像描述

我看到XCode IDE有类似内置的内容,虽然它在编辑器窗口内,因此不是很方便.

到目前为止,我已经尝试过GitX 0.7.1和M​​ac的GitHub - 他们都没有"责怪".

我刚刚检查了SourceTree for Mac,虽然它有责备支持,但它相当简陋,并且显示我几乎与命令行相同git blame,尽管我可以双击该行以查看相应的修订和另一个窗口中的更改.那仍然不如bzr qannotate.

我可以使用其他GUI工具吗?

git bazaar blame

20
推荐指数
3
解决办法
5070
查看次数

在valgrind下运行python会显示许多内存错误,这是正常的吗?

我试图在我的Python C扩展中调试内存崩溃,并尝试在valgrind下运行脚本.我发现valgrind输出中有太多的"噪音",即使我运行简单的命令:

valgrind python -c ""
Run Code Online (Sandbox Code Playgroud)

Valgrind输出完整的重复信息,如下所示:

==12317== Invalid read of size 4
==12317==    at 0x409CF59: PyObject_Free (in /usr/lib/libpython2.5.so.1.0)
==12317==    by 0x405C7C7: PyGrammar_RemoveAccelerators (in /usr/lib/libpython2.5.so.1.0)
==12317==    by 0x410A1EC: Py_Finalize (in /usr/lib/libpython2.5.so.1.0)
==12317==    by 0x4114FD1: Py_Main (in /usr/lib/libpython2.5.so.1.0)
==12317==    by 0x8048591: main (in /usr/bin/python2.5)
==12317==  Address 0x43CD010 is 7,016 bytes inside a block of size 8,208 free'd
==12317==    at 0x4022F6C: free (in /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so)
==12317==    by 0x4107ACC: PyArena_Free (in /usr/lib/libpython2.5.so.1.0)
==12317==    by 0x41095D7: PyRun_StringFlags (in /usr/lib/libpython2.5.so.1.0)
==12317==    by 0x40DF262: (within /usr/lib/libpython2.5.so.1.0)
==12317== …
Run Code Online (Sandbox Code Playgroud)

python debugging valgrind memory-leaks python-c-extension

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

获取Python类的完全限定名称(Python 3.3+)

如何从模块根获取类的名称,包括完整路径?对于Python 3.3及更高版本?

以下是Python代码的示例:

class A:
    class B:
        class C:
            def me(self):
                print(self.__module__)
                print(type(self).__name__)
                print(repr(self))

x = A.B.C()
x.me()
Run Code Online (Sandbox Code Playgroud)

这段代码在Python 3.3上输出我:

__main__
C
<__main__.A.B.C object at 0x0000000002A47278>
Run Code Online (Sandbox Code Playgroud)

所以,Python内部知道我的对象是__main__.A.B.C,但我怎么能以编程方式得到它?我可以解析repr(self),但这对我来说听起来像是一个黑客.

python inspect

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