繁体   English   中英

在Python中读取/写入文本文件

[英]Read/Write text files in Python

我是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

我完全迷失了为什么它当前不起作用,因为它正在发现一个语法错误,其中包括:名称,bearing.iteritems()中的值:

我不确定某些错误是否是由于缩进造成的。

我也不太了解最后一部分。 我有一个输出文本文件,这是最后一部分正在阅读的内容。 但是,我不明白(特别是)这一行:

regexp = re.compile( "^(?P<name>.*)\\s*=\\s*(?P<value>.*)$" )

对于RE,我不完全了解“匹配”什么是^,$和?P匹配什么? 还有“ regexp”代表什么?

谢谢您的时间=)

        logger.critical( "Failed to create file \"%s\" : %s" % ( filename, e )

有2个左(只有1个右) 这似乎是语法错误。

由于语句不完整,因此Python会继续解析。 错误消息显示在下一行。


阅读以下内容: http : //docs.python.org/library/re.html#regular-expression-syntax 然后使用正则表达式的更多特定方面更新您的问题,这会使您感到困惑。 正则表达式是一个(潜在的)深层主题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM