我对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
我完全迷失了为什么它目前无法正常工作,因为它发现了一个语法错误:for name,bearing initeritems()中的值:
我不确定是否有一些错误是由于缩进造成的。
我也不太了解最后一部分。我有一个输出文本文件,这是最后一部分正在阅读的内容。但是我不明白(特别是)这一行:
regexp = re.compile( "^(?P<name>.*)\\s*=\\s*(?P<value>.*)$" )
对于RE,我不明白'匹配'是什么意思^,$和?P匹配什么? “正则表达式”代表什么呢?
感谢您的时间=)
答案 0 :(得分:3)
logger.critical( "Failed to create file \"%s\" : %s" % ( filename, e )
有2人离开(
而只有1人离开)
。这似乎是语法错误。
由于语句未完成,Python继续解析。错误消息显示在以下行中。
阅读本文:http://docs.python.org/library/re.html#regular-expression-syntax。然后使用正则表达式的更具体方面更新您的问题,这会使您感到困惑。正则表达式是一个(可能)深层主题。