これは些細な質問かもしれませんが、さまざまな方法でこれを解決しようと一日を費やしてきました。次のようなデータを含むファイルがあります。
<string>
<integer>
<N1>
<N2>
data
data
...
<string>
<integer>
<N3>
<N4>
data
data
...
そして、それは何度も拡張されます...最初のセット(最初と2番目の間)の「データ」を読み取る必要があります。これには、Xポイントの数N1、Yポイントの数N2、およびN1 * N2の数が含まれますZ ポイントの。データのセットが 1 つしかない場合、すべてのデータを読み取る方法を既に知っています。次に、値 N1、N2 を読み取り、それを X、Y、Z にスライスし、形状を変更して使用します... 1 つのデータ セットよりも多くの場合、1 つの文字列から次の文字列までのみを読み取り、次のセットに対して同じ操作を繰り返し、ファイルの最後に到達するまで繰り返すにはどうすればよいですか? 私は次のような関数を定義しようとしました:
def dat_fun():
with open("inpfile.txt", "r") as ifile:
for line in ifile:
if isinstance('line', str) or (not line):
break
for line in ifile:
yield line
が機能していません。データのない配列を取得します。コメントをお待ちしております。ありがとう!