最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

使用 exec 從 golang 內(nèi)聯(lián) python3 和返回結(jié)果

使用 exec 從 golang 內(nèi)聯(lián) python3 和返回結(jié)果

Go
慕田峪9158850 2023-08-14 17:48:18
我一直在遵循這個(gè)從 golang 調(diào)用 python 并捕獲 go 代碼的返回值以解碼簡單的 csv 并轉(zhuǎn)換為 json。這可以通過 cli 作為命令運(yùn)行:$ python3.7 -c "exec(\"import csv,json? \na=list() \nfor i in csv.DictReader(open('/Users/Astra/data_in/Data.csv', 'r')): a.append(json.dumps(i))? ?\nb=dict(enumerate(a))? ?\nc=json.dumps(b, sort_keys=True, indent=4)? ?\nprint(c)\")"來自 Golang 的命令集如下:cmd := exec.Command("python", "-c", "import csv,json; a=list(); for i in csv.DictReader(open('/Users/Astra/data_in/Data.csv', 'r')): a.append(json.dumps(i)); b=dict(enumerate(a)); c=json.dumps(b, sort_keys=True, indent=4); print(c)")但是,我收到以下錯(cuò)誤:exit status 1? File "<string>", line 1? ? import csv,json; a=list(); for i in csv.DictReader(open('/Users/Astra/data_in/Data.csv', 'r')): a.append(json.dumps(i)); b=dict(enumerate(a)); c=json.dumps(b, sort_keys=True, indent=4); print(c)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ^SyntaxError: invalid syntax我想我需要將縮進(jìn)移回與 for 循環(huán)平行的位置,但是字符串化命令怎么可能做到這一點(diǎn)呢?提前致謝。更新:下面是等效的 python 工作,分配c變量的行需要沿著for loopa = list()for i in csv.DictReader(open('/Users/Astra/data_in/Data.csv', 'r')):? ? a.append(json.dumps(i))c = json.dumps(dict(enumerate(a)), sort_keys=True, indent=4)print(c)
查看完整描述

2 回答

?
Helenr

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超4個(gè)贊

如果你跑python -。它將讀取程序stdin。這對于來自不同來源的任意長的 python 腳本非常有用。


python_source = `import csv,json 

a=list()

for i in csv.DictReader(open('/Users/Astra/data_in/Data.csv', 'r')):

    a.append(json.dumps(i))

b=dict(enumerate(a))

c=json.dumps(b, sort_keys=True, indent=4)

print(c)`


 cmd := exec.Command("python", "-")

 cmd.Stdin = strings.NewReader(python_source)

 ...


查看完整回答
反對 回復(fù) 2023-08-14
?
弒天下

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超8個(gè)贊

嘗試使用換行符傳遞參數(shù)并使用原始字符串文字正確縮進(jìn):


cmd := exec.Command("python", "-c", `import csv,json; 

a=list(); 

for i in csv.DictReader(open('/Users/Astra/data_in/Data.csv', 'r')): 

   a.append(json.dumps(i)); 

   b=dict(enumerate(a)); 

   c=json.dumps(b, sort_keys=True, indent=4); 

   print(c)

`)


查看完整回答
反對 回復(fù) 2023-08-14
  • 2 回答
  • 0 關(guān)注
  • 234 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)