小编iTa*_*ayb的帖子

如果字符串是char数组本身,使用String.ToCharArray有什么意义呢?

string s = "string";
Console.WriteLine(s[1]); // returns t

char[] chars = s.ToCharArray();
Console.WriteLine(chars[1]); // also returns t
Run Code Online (Sandbox Code Playgroud)

那么这个方法有什么意义呢?

c#

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

如何在PHP中33%的时间随机执行代码?

我不太清楚如何写这个:我想生成一个从0到2的随机数,然后编写一个if只有33%的时间执行特定代码的语句.

这就是我试图做的事情:

if (rand(0, 3)=="2") { echo "Success" };
Run Code Online (Sandbox Code Playgroud)

php random

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

如何在主窗口内的pyqt中创建文件夹视图

我正在尝试实现文件夹查看器来查看特定路径的结构.这个文件夹视图应该看起来像PyQT中的树小部件,我知道文件对话框可以帮助,但我需要在我的主窗口中.
我试图使用QTreeWidget实现这一点,我使用一个递归函数循环文件夹,但这太慢了.因为它需要递归大量的文件夹.这是正确的方法吗?或者有一个现成的qt解决方案来解决这个问题.
检查下图.


在此输入图像描述

python pyqt pyqt4

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

使用具有多变量函数的map函数

我有一个多变量函数,我想使用map()函数.

例:

def f1(a, b, c):
    return a+b+c
map(f1, [[1,2,3],[4,5,6],[7,8,9]])
Run Code Online (Sandbox Code Playgroud)

python dictionary

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

插槽功能正在运行时显示"请稍候..."框

我的GUI中有一个插槽功能需要一些时间才能完成(10-15秒).我想灰色布局并显示一个"请等待......"的框,当插槽功能完成时它将消失.

我需要它是异步的,因为我想QProgressBar在"请稍候..."窗口中使用一个小部件.

如何才能做到这一点?

qt qt4

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

如何记录未捕获的QApplication异常?

我应该在哪里使用except块来记录a的异常QApplication

这似乎不起作用:

app = QtGui.QApplication(sys.argv)
MainWindow = MainWindow()
MainWindow.show()
try:
    eventLoop = app.exec_()
except Exception, e:
    log.exception(str(e))
Run Code Online (Sandbox Code Playgroud)

因为例外甚至不会到达那个街区.

qt4 pyqt4

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

从多处理转向线程

在我的项目中,我使用multiprocessing该类来平行运行任务.我想要使​​用threading,因为它具有更好的性能(我的任务是TCP/IP绑定,而不是CPU或I/O绑定).

multiprocessing有精彩的功能,Pool.imap_unordered并且Pool.map_async,不会在存在threading阶级.

将代码转换为使用的正确方法是什么threading?该文档介绍了multiprocessing.dummy该类,它是该类的包装器threading.但是这会引发很多错误(至少在python 2.7.3上):

    pool = multiprocessing.Pool(processes)
  File "C:\python27\lib\multiprocessing\dummy\__init__.py", line 150, in Pool
    return ThreadPool(processes, initializer, initargs)
  File "C:\python27\lib\multiprocessing\pool.py", line 685, in __init__
    Pool.__init__(self, processes, initializer, initargs)
  File "C:\python27\lib\multiprocessing\pool.py", line 136, in __init__
    self._repopulate_pool()
  File "C:\python27\lib\multiprocessing\pool.py", line 199, in _repopulate_pool
    w.start()
  File "C:\python27\lib\multiprocessing\dummy\__init__.py", line 73, in start
    self._parent._children[self] = None
AttributeError: '_DummyThread' object has no attribute '_children'
Run Code Online (Sandbox Code Playgroud)

编辑:实际发生的是我有一个运行不同线程的GUI(以防止GUI被gettint卡住).该线程运行具有ThreadPool失败的特定搜索功能.

编辑2:错误修复 …

python multithreading multiprocessing

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

找到字符串之间的差异

我有以下函数获取源和修改后的字符串,并在其中加粗更改的单词.

def appendBoldChanges(s1, s2):
    "Adds <b></b> tags to words that are changed"
    l1 = s1.split(' ')
    l2 = s2.split(' ')
    for i, val in enumerate(l1):
        if l1[i].lower() != l2[i].lower():
            s2 = s2.replace(l2[i], "<b>%s</b>" % l2[i])

    return s2
print appendBoldChanges("britney spirs", "britney spears") # returns britney <b>spears</b>
Run Code Online (Sandbox Code Playgroud)

它在具有相同字数的字符串上工作正常,但是因字符数不同而失败,因为sora iro dayssorairo days.

我怎样才能考虑间隔?

python string

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

启动GUI进程而不生成黑色shell窗口

我想打开Windows资源管理器并选择一个特定的文件.这是API : explorer /select,"PATH". 因此导致以下代码(使用python 2.7):

import os

PATH = r"G:\testing\189.mp3"
cmd = r'explorer /select,"%s"' % PATH

os.system(cmd)
Run Code Online (Sandbox Code Playgroud)

代码工作正常,但当我切换到非shell模式(with pythonw)时,在启动资源管理器之前会出现一个黑色的shell窗口.

这是预料之中的os.system.我创建了以下函数来启动进程而不生成一个窗口:

import subprocess, _subprocess

def launch_without_console(cmd):
    "Function launches a process without spawning a window. Returns subprocess.Popen object."
    suinfo = subprocess.STARTUPINFO()
    suinfo.dwFlags |= _subprocess.STARTF_USESHOWWINDOW
    p = subprocess.Popen(cmd, -1, stdout=subprocess.PIPE, stderr=subprocess.PIPE, startupinfo=suinfo)
    return p
Run Code Online (Sandbox Code Playgroud)

这适用于没有GUI的shell可执行文件.但它不会发布explorer.exe.

如何在不产生黑色窗口的情况下启动该过程?

python explorer subprocess

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

修复有故障的unicode字符串

错误的unicode字符串是在其中意外编码的字节.例如:

文本:????,Windows-1255编码:\x99\x8c\x85\x8d,Unicode : u'\u05e9\u05dc\u05d5\u05dd',错误的Unicode:u'\x99\x8c\x85\x8d'

在解析MP3文件中的ID3标签时,我有时碰到这样的字符串.我该如何修复这些字符串?(例如转换u'\x99\x8c\x85\x8d'u'\u05e9\u05dc\u05d5\u05dd')

python unicode

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