import sys
def IsExistOnlyOneEqual( strLine ) :
	strLine = RemoveLuaComment( strLine )
	
	find_pos = strLine.find( '=', 0 )
	if( find_pos == -1 ) :
		return False
		
	find_pos = strLine.find( '=', find_pos + 1 )
	if( find_pos == -1 ) :
		return True
		
	return False
	
def RemoveLuaComment( strLine ) :
	find_pos = strLine.find( '--', 0 )
	if( find_pos != -1 ) :
		return strLine[0 : find_pos].strip()
	return strLine.strip()
	
	
def LeftSideOfEqual( strLine ) :
	strLine = RemoveLuaComment( strLine )
	find_pos = strLine.find( '=', 0 )
	if( find_pos != -1 ) :
		return strLine[0 : find_pos].strip()
	return strLine.strip()
	
	
def RightSideOfEqual( strLine ) :
	strLine = RemoveLuaComment( strLine )
	find_pos = strLine.find( '=', 0 )
	if( find_pos != -1 ) :
		return strLine[find_pos + 1 : len(strLine)].strip()
	return strLine.strip()	
	
def main(argv) :
	input_file = argv[1]
	
	f = open( input_file, 'r' )
	filelist = f.readlines()
	
	for eachline in filelist :
		if( IsExistOnlyOneEqual( eachline ) == False ) :
			print "\n[Error Line] ", eachline
		else :
			print "\n[Total]\n", eachline
			print "\n[Remove Comment]\n", RemoveLuaComment( eachline )
			print "\n[Left Side]\n", LeftSideOfEqual( eachline )
			print "\n[Right Side]\n", RightSideOfEqual( eachline )
		
	f.close()
	
if __name__ == "__main__" :  
    main(argv=sys.argv)  
				'프로그래밍'에 관한 글 206개
- 2010/02/10 [Python] Ini 파일 형식 라인별로 읽어서 "=" 연산자 양쪽 값 분리
- 2009/11/30 [STL] STL Container 자료구조에서 순환 삭제를 위한 코드 5
- 2009/11/21 [C++] ReturnMacro
- 2009/11/06 [WMI] 프로세스 (시작 / 종료) 이벤트 발생시 프로그램 실행하기
- 2009/07/25 프로그램은 왜 실패하는가? (발표자료) 1
- 2009/07/22 Effective C++ 공부중(요약) 1
- 2009/03/28 정규식을 이용하여 보다 쉽게 쿼리문을 작성해 보자_02
- 2009/03/21 정규식을 이용하여 윈도우 방화벽 사용자 지정 목록 편집하기 1
- 2009/03/21 정규식을 이용하여 보다 쉽게 쿼리문을 작성해 보자_01
- 2009/01/07 [C/C++] enum, 보다 나은 enum 6
[Python] Ini 파일 형식 라인별로 읽어서 "=" 연산자 양쪽 값 분리
						프로그래밍/Python
						2010/02/10 22:31
						
					
				
덧글을 달아 주세요