-3

このようなファイル行から読み取りたい A = B = 411 空白/スペースなし.私は試しました

import os
import re
import fileinput

#-------------------------------------------------------------------------------

fileName = "input.txt"

f = open(fileName,"r")
lines = f.readlines()
for i in lines:
    character = i.split()
    for n in character:

        if  n != '#':
            print n

        else:
            print "End of File"

入力.txt

A = B = 411
C = ( D = 2 ) * _2
C = D = 2 * _2
F = C - D
E = D * _10
Z = 10 / 3
#

問題は、入力ファイルの文字/数字の間にスペースを入れると、プログラムが正常に動作することです。しかし、スペースが削除された場合、出力は A=B=411 のようになります。これは望ましくありません。誰か助けてください...ファイルから読み取ったデータの整合性を維持する方法...

4

2 に答える 2

1

デフォルトでは (つまり、追加の引数がない場合)、文字列オブジェクトのsplit()メソッドは空白を無視し、文字列を単語のリストに分割します。したがって、それを使用し、コードを簡素化して高速化するために他のいくつかの変更を加えた結果、次のようになりました。

fileName = "input.txt"
with open(fileName,"r") as file:
    for line in file:
        for word in line.split():
            if  word != '#':
                print word
            else:
                print "End of File"
于 2013-03-27T21:25:09.427 に答える
0

スペースを削除したい場合は、置き換えることができcharacter = i.split()ます

character = list(i.replace(" ", ""))
于 2013-03-27T20:26:16.750 に答える