[解決済み】Python: ValueErrorです。反復処理と読み込みメソッドを混在させるとデータが失われる
2022-02-11 02:25:59
質問
以下のスクリプトを実行すると、次のようなメッセージが表示されます。
ValueErrorです。反復と読み込みメソッドを混在させるとデータが失われる
numが最初のforループの中にあり、last_hostがnumに依存しているためだと理解していますが、これを回避する方法がわかりません。
#!/usr/bin/env python2
import datetime as dt
import glob as glob
import os as os
import shutil as shutil
import signal as signal
import subprocess as sp
import sys as sys
# Open PDB file and read coordinates
pdb_file = open('align_z.pdb', 'r')
new_pdb_file = open('vac.pdb', 'w')
#Get last host atom
for num, line in enumerate(pdb_file, 1):
if "L01" in line:
print num
break
last_host=int(num)
print(last_host-1)
for atom in range(0, last_host-1):
data = pdb_file.readline()
new_pdb_file.write(data)
解決方法は?
一度、繰り返し
pdf_file
によって
enumerate
を呼び出さない限り、再び反復することはできません。
pdb_file.seek(0)
seek(0) はストリームの位置を先頭に変更します。
以下は私の修正点です。
num = 1
for line in pdb_file:
num += 1
if "L01" in line:
print num
break
pdb_file.seek(0) # go back to the beginning and then it can be iterated again
last_host=int(num)
print(last_host-1)
for atom in range(0, last_host-1):
data = pdb_file.readline()
new_pdb_file.write(data)
関連
-
風力制御におけるKS原理を深く理解するためのpythonアルゴリズム
-
Pythonショートビデオクローラーチュートリアル
-
Pythonの@decoratorsについてまとめてみました。
-
[解決済み] [Solved] sklearn error ValueError: 入力に NaN、infinity または dtype('float64') に対して大きすぎる値が含まれている。
-
[解決済み】DataFrameのコンストラクタが正しく呼び出されない!エラー
-
[解決済み] _tkinter.TclError: 表示名がなく、$DISPLAY環境変数もない。
-
[解決済み】 NameError: グローバル名 'xrange' は Python 3 で定義されていません。
-
[解決済み】"No JSON object could be decoded "よりも良いエラーメッセージを表示する。
-
[解決済み] 'int'オブジェクトに'__getitem__'属性がない。
-
[解決済み] Python json.loads で ValueError が表示されます。余分なデータ
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Pythonの非常に便利な2つのデコレーターを解説
-
ピロウズ画像色処理の具体的な活用方法
-
Pythonコンテナのための組み込み汎用関数操作
-
Python Decorator 練習問題
-
Pythonの学習とデータマイニングのために知っておくべきターミナルコマンドのトップ10
-
Pythonの@decoratorsについてまとめてみました。
-
[解決済み] [Solved] sklearn error ValueError: 入力に NaN、infinity または dtype('float64') に対して大きすぎる値が含まれている。
-
[解決済み】ilocが「IndexError: single positional indexer is out-of-bounds」を出す。
-
[解決済み】OSError: [WinError 193] %1 は有効な Win32 アプリケーションではありません。
-
[解決済み】 NameError: グローバル名 'xrange' は Python 3 で定義されていません。