2016-09-16 71 views
0
  1. 我有一個屬性文件abc.prop,其中包含以下內容。從屬性文件讀取bash數組到腳本

    x=(A B) 
    y=(C D) 
    
  2. 我有一個python腳本abc.py這是能夠加載屬性文件abc.prop。 但我不能夠重複和轉換都來自abc.prop如下陣列,

    x_array=['A','B'] 
    y_array=['C','D'] 
    
  3. 我嘗試以下,但我想知道如果有一個更好的方法,而不是使用replace()和去除大括號。

importConfigFile = "abc.prop" propInputStream = FileInputStream(importConfigFile) configProps = Properties() configProps.load(propInputStream) x_str=configProps.get("x") x_str=x_str.replace("(","") x_str=x_str.replace(")","") x_array=x_str.split(' ')

請建議的方式來實現這一目標。

+0

更新了帖子,請大家看看。 – Arham

+0

那麼正則表達式呢? –

+0

ya正則表達式工作...但是有沒有什麼現成的解決方案這個問題?...我的意思是在Python中的任何支持bash格式的數組? – Arham

回答

1

我不知道任何特殊的bash python數據結構轉換器。我懷疑有沒有。我可能會建議的唯一一點是這樣做的一點清潔和動態的方式。

data = {} 
with open('abc.prop', 'r') as f: 
    for line in f: 
     parts = line.split('=') 
     key = parts[0].strip() 
     value = parts[1].strip('()\n') 
     values = value.split() 
     data[key] = [x.strip() for x in values] 
print(data)