我正在使用 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
我真的是 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},但我总是收到错误消息。
我究竟做错了什么?