將文件行讀入 xargs 以用於並行 python 腳本

賈里德弗雷澤

我試圖通過使用文件的行作為 python 腳本的參數來並行執行 python 腳本。該文件已命名experiments.txt,可能如下所示:

--x_timesteps 3 --y_timesteps 3 --exp_path ./logs
--x_timesteps 4 --y_timesteps 3 --exp_path ./logs
--x_timesteps 5 --y_timesteps 3 --exp_path ./logs
--x_timesteps 6 --y_timesteps 3 --exp_path ./logs

我想通過使用 xargs 來加快處理速度;但是,我不知道如何使用文件輸入來做到這一點。如何通過從文件中逐行讀取並通過管道傳輸到 xargs 來並行化 python 腳本?

我知道我可以用一個簡單的 for 循環來解決這個問題;但是,我需要知道如何處理文件輸入。

在相應目錄的命令行中鍵入此內容,

for x in {3..6}; \
do printf '%s\0' "--x_timesteps=${x}" "--y_timesteps=3" "--exp_path=./logs"; \
done | xargs -0 -n 3 -P 8 python script.py

for-loop 風格的並行化源自對“Using xargs for parallel Python scripts”的回答

馬克·塞切爾

恕我直言,使用GNU Parallel更簡單,更可控,如下所示:

parallel --dry-run --colsep ' ' python script.py :::: experiments.txt

您可以簡單地添加或刪除--dry-run以進行調試。您可以添加--eta--bar獲取進度報告。您可以在多個主機之間分配任務。您可以輕鬆地進行失敗/重試處理。您可以從參數中提取基本名稱、文件名、目錄名稱。您可以對參數進行排列。等等。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何從 Python 腳本運行 nohup 命令?

通過 Python 腳本將多個輸入傳遞給 .bat 文件

模塊未導入在啟動時運行 python 腳本

如何同時執行 django runserver 和 python 腳本(在 cmd 中的一行)

Python 運行與我的腳本不同的腳本

在 PutFile 之後執行 Python 腳本(Apache - NiFi)

將 Apps 腳本函數應用於 Google 表格中的其他行

如何安排從anaconda運行的python腳本?

Python 子進程腳本適用於 Windows,但不適用於 Linux

用於查詢 AD 並報告是否在 CSV 文件中找到 UPN 的 PowerShell 腳本

如何與始終運行的 python 腳本通信

如何通過命令啟動屏幕並運行python腳本

使用 nohup 依次運行多個 python 腳本

從 VS 代碼在 Python IDLE 中運行 python 腳本

用於檢查 Jira 狀態的 python 腳本

使用已導入的模塊/模塊運行 python 腳本

用於將行導出到不同工作表的 Google 表格腳本

Python InDesign 腳本:如何運行預檢?

Python 腳本未執行

LUA - 如何停止運行腳本

python腳本將指定文件添加到crontab

用於重置日期和時間的 Python 腳本

基於 SAS 腳本 (NHANES III) 將 SAS 數據文件讀入 R

在命令行/批處理文件/python 腳本中運行 java 主類

用於獲取正在運行的虛擬機列表並停止它們的 Powershell 腳本

從另一個腳本運行一個 python 腳本,其中命令行參數具有可執行文件

如何選擇 CPU 來運行 python 腳本?

用於組合 CSV 並將根目錄添加為附加列的 PowerShell 腳本

將值從 bash 腳本傳遞到 python 腳本