2017-07-10 12 views
0

私は、Pythonの設定ファイルでマルチパラメータ関数を使用しようとしています。私はスクリプトにそれを呼び出すしようとし、intとしてパラメータをキャストしようとすると、問題が発生します。これはPythonでこれを行う方法はありますか?Pythonの設定ファイルからマルチパラメータ関数を解析するには?

#Config File----------------------------------- 

[Camera_Settings] 
SENSOR-TAP = 1 
ROI = 640,320,8,6 

#Python Script-------------------------------- 

#! /usr/bin/python 

import configparser 
import serial 

List_of_Camera_Commands = []    

# Establish serial port 
''' 
ser = serial.Serial('/dev/ttyUSB0') 
print(ser.name) 
ser.baudrate = 192000 
ser.write(stuff to write) 
ser.read() 
''' 

CameraConfig = configparser.ConfigParser() 
CameraConfig.read("CameraConfig.conf")  #Read in Config File 

#---------Code to read in Config file Options and cast as ints--------------- 


for name in CameraConfig.options('Camera_Settings'):        
Casted_Int_Values = CameraConfig.getint('Camera_Settings', name)   

print(name, ": ",Casted_Int_Values)           

Temp_command = [name, Casted_Int_Values]         

List_of_Camera_Commands.append(Temp_command)        

print(List_of_Camera_Commands)             

#ser.write(List_of_Camera_Commands)  ------> write to serial???? 







#output = invalid literal for int() with base 10: '640,320,8,6 

答えて

0

ROI変数は、intではなく複数のintを含む文字列です。あなたはおそらく最初のものを取得しています。

複数行でROIを分割してみてください。または、ROIがコンマで区切られ、int()に変換されてintに変換される文字列であることを期待してください。 :)

forループの前にこれを実行して、値をintとして取得する前にその値がどのように見えるかを確認してください。

for name in CameraConfig.options('Camera_Settings'): 
    print(name, CameraConfig.get('Camera_Settings', name)) 
関連する問題