用Python读/写文本文件
我对Python相当陌生,不完全了解所有项目,我已经为一个程序打下了基础,我需要修改bits,以下是我到目前为止所做的:用Python读/写文本文件,python,file,exception,Python,File,Exception,我对Python相当陌生,不完全了解所有项目,我已经为一个程序打下了基础,我需要修改bits,以下是我到目前为止所做的: import sys, os filename = 'C:\main\in.txt' resultFile = 'C:\main\out.txt' try: file = open( filename, "w" ) except Exception, e: logger.critical( "Fai
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
导入系统,操作系统
文件名='C:\main\in.txt'
结果文件='C:\main\out.txt'
尝试:
文件=打开(文件名为“w”)
除例外情况外,e:
logger.critical(“未能创建文件\%s\:%s%”(文件名,e)
对于名称,brg.iteritems()中的值:
如果-1==string.find(name,“CTRL”)和name不在[“name”,“type”]:
file.write(“%s=%s\n”%(名称、值))
file.close()文件
#运行Fortran程序
resultCode=os.system(“%sC:\main\Debug\main.exe-i%s-o%s.result%”(选项[选项脚本路径]、文件名、文件名))
#阅读结果
尝试:
文件=打开(结果文件,“r”)
除例外情况外,e:
logger.critical(“未能创建文件\%s\:%s%”(结果文件,e)
regexp=re.compile(“^(?P.*)\\s*=\\s*(?P.*)$”)
对于文件.xreadlines()中的行:
行=行.strip(\\r\\n\\t)
m=regexp.match(行)
如果m:
名称=m.group(“名称”)
值=m.组(“值”)
brg[name]=值
我完全不明白为什么它现在不能工作,因为它发现了一个语法错误:for name,value in bearing.iteritems(): 我不确定有些错误是否是由于缩进造成的 我也不太理解最后一部分。我有一个输出文本文件,这是最后一部分正在阅读的内容。但我不理解(特别是)这一行:
regexp = re.compile( "^(?P<name>.*)\\s*=\\s*(?P<value>.*)$" )
regexp=re.compile(“^(?P.*)\\s*=\\s*(?P.*)$”)
对于RE's,我不太明白“匹配”到底意味着什么,^,$and?p匹配到什么?还有“regexp”代表什么
谢谢您的时间=)
有两个左(
,只有一个右)
。这似乎是语法错误
由于语句未完成,Python将继续解析
阅读以下内容:然后用正则表达式的更具体方面更新您的问题,这些方面会让您感到困惑。正则表达式是一个(可能)深入的主题 有两个左
(
,只有一个右)
。这似乎是语法错误
由于语句未完成,Python将继续解析
阅读以下内容:然后使用正则表达式的更具体方面更新您的问题,这会让您感到困惑。正则表达式是一个(可能)深入的主题。“语法错误:对于名称,轴承中的值。iteritems()”?请在您的问题中包含实际语法错误输出。如果您的代码是真实代码,请使用brg(或轴承)在您将其用于循环之前未定义……”我…不理解(特别是)这一行:“用非常简单的术语”很难做到。请澄清您对该行的理解和不理解。我们不知道“简单”程度如何您的意思是。我们不知道您了解哪些部分。请提供一些您认为可能是什么的摘要,以便我们可以扩展和更正您的语句。请小心:filename='C:\main\in.txt'可以工作,但'\n.txt'不能工作。因为\n是换行符。请使用双反斜杠或r'C:\main\in.txt'@user982297:请停止添加注释s到您的问题。请更新您的问题以指出您不理解的内容。更新问题后,请删除与您对正则表达式的理解(和不理解)相关的两条注释。很难从大量注释中合成一个连贯的问题。如果您更新问题,这会有所帮助。“语法错误:对于名称,轴承中的值。iteritems()”?请在您的问题中包含实际语法错误输出。如果您的代码是真实代码,则在将其用于循环之前未定义brg(或轴承)…”我…不理解(特别是)这一行:“和”非常简单“很难做到。请澄清您对该行的理解和不理解。我们不知道有多“简单”您的意思是。我们不知道您了解哪些部分。请提供一些您认为可能是什么的摘要,以便我们可以扩展和更正您的语句。请小心:filename='C:\main\in.txt'可以工作,但'\n.txt'不能工作。因为\n是换行符。请使用双反斜杠或r'C:\main\in.txt'@user982297:请停止添加注释请更新您的问题,指出您不理解的内容。更新问题后,请删除与您所做(和不做)相关的两条注释了解正则表达式。很难从大量注释中合成一个连贯的问题。如果您更新您的问题,这会有所帮助。顺便说一句,AFAIK
logger.critical
也接受格式logger.critical(“未能创建文件\%s\”:%s),文件名,e)
。谢谢,我不敢相信我没有看到!顺便说一句,AFAIKlogger.critical
也接受格式logger.critical(“未能创建文件\%s\”:%s”,文件名,e)
。谢谢,我不敢相信我没有看到!
logger.critical( "Failed to create file \"%s\" : %s" % ( filename, e )