簡體   English   中英

如何將2D數組作為參數從C#傳遞給python

[英]How to pass a 2D array as argument from C# to python

我正在將我的C#代碼與我的python腳本集成,其中C#代碼將一個2D數組作為參數傳遞給Python命令行 ,我想知道下面的代碼是否是正確的方法:下面的代碼用於調用帶有C#中數組參數的python腳本

 int[,] arr = new int[3, 4] {1, 2, 3, 4}, {11, 12, 13, 14}, {21, 22, 23, 24}};
 ProcessStartInfo processStartInfo = new ProcessStartInfo();
 processStartInfo.FileName = @"C:\DEV\IR_Analysis\venv\Scripts\python.exe"; 
 processStartInfo.Arguments = @"C:\DEV\IR_Analysis\BreastCancer_analysis\scratch.py"+" "+arr;

下面的代碼是我嘗試使用C#運行的python腳本,這只是例如,如果這有效,我將在我的實際項目中使用它,其中C#將一個大的2D數組傳遞給python。

import sys
print(sys.argv[1])

print(sys.argv [1])的輸出應該是數組的元素集,但實際輸出是'System.Int32 [,]'。

我看到一個問題:

float[,] arr = new int[3, 4]

您已聲明了一個Float數組,並使用Int32數組進行實例化。

你能試試這個:

float[,] arr = new float[3, 4] {1.3, 2.2, 3.3, 4.0}, {11.2, 12.3, 13.2, 14.12}, {21.2231, 22.324567, 23.12345, 24.6789}};

同時承認@ shingo的評論,您可能希望根據文檔使用sys.float_info

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM