python を使用して、スペースが埋め込まれたフラットなテキスト ファイルを読み込んでいます。テキスト ファイルの検証の一部として、テキスト ファイルの各行がスペース パディングを含む特定のファイル長であると想定されます。
次のコードを使用すると、python は余分なスペースを含む行を表示してしまいます。たとえば、fileX のすべての行が 143 文字になると予想しています。ただし、Python はこれを 144 文字として読み取るため、ファイルが無効であると判断します。VB.NET で同じことを行うと、正しい 143 文字が得られます。
Python のreadline 関数が余分な文字を追加するのはなぜですか? (python 3.2 を使用)
import io
myfile = open("file_path", "r")
while True:
line = myfile.readline()
if not line:
break
print(len(line)) #This prints 144 characters
VB.NETは 143 文字の正しい長さを示します。
Using objStreamReader As StreamReader = New StreamReader(myFilePath)
While objStreamReader.EndOfStream = False
line = objStreamReader.ReadLine
len(line) 'This returns the correct length of 143.
line.strip の使用は、有用なスペースを取り除く可能性があるため、適切なメカニズムではありません。ファイルは指定された最大長までスペースが埋め込まれていることに注意してください。