小编Dod*_*lei的帖子

Python 多处理队列使代码在处理大数据时挂起

我正在使用 python 的多重处理来分析一些大文本。经过几天尝试找出我的代码挂起的原因(即进程没有结束)后,我能够使用以下简单的代码重新创建问题:

import multiprocessing as mp

for y in range(65500, 65600):
    print(y)

    def func(output):

         output.put("a"*y)

    if __name__ == "__main__":

        output = mp.Queue()

        process = mp.Process(target = func, args = (output,))

        process.start()

        process.join()
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,如果要放入队列的项目太大,进程就会挂起。output.put()如果我在运行后编写更多代码,它不会冻结,但该过程仍然不会停止。

当字符串达到 65500 个字符时,这种情况就会开始发生,具体取决于您的解释器,它可能会有所不同。

我知道mp.Queue有一个maxsize参数,但经过一些搜索,我发现它与队列的项目数量大小有关,而不是项目本身的大小。

有没有解决的办法?我需要在原始代码中放入队列的数据非常非常大......

python process multiprocessing large-data python-multiprocessing

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

使用导入模块中的变量时,SASS“无效的 css 错误”

我真的是 Sass 的新手,在从部分样式表导入变量时遇到了问题。我认为这很简单,但似乎并非如此。

我在反应组件中使用这个样式表,像这样导入:

import '../stylesheets/Table.scss';
Run Code Online (Sandbox Code Playgroud)

实际的样式表(经过简化,但有相同的错误)如下所示:

@use 'colors.scss';

.datatb-container {

    background-color: colors.$table-bg;
    border: 2px solid colors.$table-border;

    border-radius: 2px;
    padding: 1.2%;
    max-width: 40rem;
}
Run Code Online (Sandbox Code Playgroud)

我的变量所在的文件名为_colors.scss,在与 相同的目录中Table.scss,如下所示:

// App colors
$highlight: rgb(197, 145, 0);

// Table colors
$cell-bg: white;
$table-bg: gainsboro;

$cell-border: gray;
$table-border: black;
Run Code Online (Sandbox Code Playgroud)

当我运行 React 时,出现以下错误:

SassError: Invalid CSS after "...ound-color: color": expected expression (e.g. 1px, bold), was ".$table-bg;"
        on line 4 of ./src/stylesheets/Table.scss
>>     background-color: color.$table-bg;
Run Code Online (Sandbox Code Playgroud)

我已经尝试更改目录,以不同方式使用变量,使用 更改命名空间@use 'colors' as {smth},但我总是收到错误消息。

我究竟做错了什么?

css sass reactjs node-sass

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