MeshTimeのモジュールの実装とまとめ

13709 ワード

必要:
  • 指定経路を特定する、*~4 meshを探し出す.outファイル-->Meshの関連内容はすべてこのパスの下に置かれている
  • の具体的なフォーマットは以下の通りである:
  • StudyName, FilePath, MeshTime, SecondAttempt

    実装:
  • このセグメントコードのハイライト(心得は主に以下の通り)
  • pythonは、ファイル内の各行を読むとき、例えば「import os」というフォーマットで、1行の末端に改行符を付ける.
    採用方法は以下の通りである:各行をリストに読み込み、文字列のrstrip()関数を使用して改行を削除します.行Line 34を参照してください.
    リストを操作するには、主に検索方式を利用する.


    次に、Learning Pythonの本のファイル反復に関する章ををよく見てみましょう.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57 #!/usr/bin/python #File: MeshTime.py #Author: Gene Jiang #Description: import os
      meshTime = '' status = 0 secondMesh = '' mResult = ''
     
      strPath = raw_input ( "Please enter the path which contains the out file: " )
      strCSVFile = open ( "C:\MeshTime.csv" , 'w' )
      strHeader = 'StudyName, FilePath, MeshTime, SecondAttempt' strCSVFile.write(strHeader) strCSVFile.write( '
    '
    )
      strCSVFile.close()
      for root, dirs, files in os.walk(strPath):     for f in files:         secondMesh = "False"         filePath = ''         if os.path.splitext(f)[ - 1 ] = = '.out' :             meshFileName = os.path.splitext(f)[ 0 ]                           if meshFileName[ - 4 :] = = "Mesh" :                               mFile = file (os.path.join(root, f))                 filePath = os.path.join(root, f)                                   lines = [line.rstrip() for line in mFile]
                      for i in range ( len (lines)):                     if secondMesh = = "False" and lines[i] = = "1900132" :                         secondMesh = "True"
                          if lines[i] = = "1910001" :                         meshTime = lines[i + 5 ]                         status = 1                         break                                       if status = = 1 :                     mResult =   f.split( "~" )[ 0 ] + "," + filePath + ',' + meshTime + "," + secondMesh                     print mResult                 else :                     mResult =   f.split( "~" )[ 0 ] + "," + filePath + ',' + "Not Finish Analysis, Not Finish Analysis"
                      strCSVFile = open ( "C:\MeshTime.csv" , 'a' )                 strCSVFile.writelines(mResult)                 strCSVFile.write( '
    '
    )                 strCSVFile.close()          
      print "Done"