Я довольно новичок в Python и не до конца понимаю все элементы, и мне дали основание для программы, и мне нужно изменить биты, вот что у меня есть:
import sys, os
filename = 'C:\main\in.txt'
resultFile = 'C:\main\out.txt'
try:
file = open( filename, "w" )
except Exception, e:
logger.critical( "Failed to create file \"%s\" : %s" % ( filename, e )
for name, value in brg.iteritems():
if -1 == string.find( name, "CTRL" ) and name not in [ "name", "type" ]:
file.write( "%s = %s\n" % ( name, value ) )
file.close()
# run the Fortran programme
resultCode = os.system( '%sC:\main\Debug\main.exe -i %s -o %s.result' % ( options[ OPTION_script_path ], filename, filename ) )
# Read the results
try:
file = open( resultFile, "r" )
except Exception, e:
logger.critical( "Failed to create file \"%s\" : %s" % ( resultFile, e )
regexp = re.compile( "^(?P<name>.*)\\s*=\\s*(?P<value>.*)$" )
for row in file.xreadlines():
row = row.strip( "\\r\\n \\t" )
m = regexp.match( row )
if m:
name = m.group( "name" )
value = m.group( "value" )
brg[ name ] = value
Я полностью растерялся из-за того, почему он в настоящее время не работает, так как он находит синтаксическую ошибку с: для имени, значения в Bear.iteritems ():
Я не уверен, что некоторые ошибки вызванык отступу ..
Я тоже не совсем понимаю последнюю часть.У меня есть выходной текстовый файл, и это то, что читает последняя часть.Я, однако, не понимаю (в частности) эту строку:
regexp = re.compile( "^(?P<name>.*)\\s*=\\s*(?P<value>.*)$" )
С RE, я не понимаю точно, что означает «сопоставление», что такое сопоставление ^, $ и? Pк чему?Также, что представляет собой 'regexp'?
Спасибо за ваше время =)