これまでのコードを示すことから始めます。
def err(em):
print(em)
exit
def rF(f):
s = ""
try:
fh = open(f, 'r')
except IOError:
e = "Could not open the file: " + f
err(e)
try:
with fh as ff:
next(ff)
for l in ff:
if ">" in l:
next(ff)
else:
s += l.replace('\n','').replace('\t','').replace('\r','')
except:
e = "Unknown Exception"
err(e)
fh.close()
return s
何らかの理由で、次のように入力してファイルを読み取ろうとすると、Python シェル (私は 3.2.2 を使用しています) がフリーズします。
rF("mycobacterium_bovis.fasta")
rF 関数の条件は、">" トークンで始まる各行を読み取らないようにするためのものです。これらの行は DNA/RNA コード (これらのファイルから読み取ろうとしているもの) ではないため、無視する必要があります。
誰かがこれで私を助けてくれることを願っています。私のエラーは表示されません。
いつものように、よろしくお願いします!
編集: *問題は解決しません! * これは私が現在使用しているコードです。私はエラー処理を削除しましたが、これはとにかく派手な追加でしたが、それでもファイルを読み取ろうとするとシェルがフリーズします。これは私のコードです:
def rF(f):
s = ""
try:
fh = open(f, 'r')
except IOError:
print("Err")
try:
with fh as ff:
next(ff)
for l in ff:
if ">" in l:
next(ff)
else:
s += l.replace('\n','').replace('\t','').replace('\r','')
except:
print("Err")
fh.close()
return s