我有問題,以下if語句代碼:的Python:問題與if語句
do_blast(x):
test_empty = open('/home/rv/ncbi-blast-2.2.23+/db/job_ID/%s.blast' % (z), 'r')
if test_empty.read() == '':
test_empty.close()
return 'FAIL_NO_RESULTS'
else:
do_something
def return_blast(job_ID):
if job_ID == 'FAIL_NO_RESULTS':
return '<p>Sorry no results :(boooo</p>'
else:
return open('/home/rv/ncbi-blast-2.2.23+/db/job_ID/job_ID_%s.fasta' % (job_ID), 'r').read()
出於某種原因代碼試圖分配「JOB_ID」在fasta文件中return_blast即使它應該已返回「抱歉沒有結果「。我也明白文件名和擴展名是不同的,我有我的理由這樣做。
當test_empty文件不爲空時,代碼完美工作。
這兩個函數究竟是如何連接的? – 2010-07-17 03:31:31
@Tim,我改變了縮進,因爲它是誤導性的(縮進是python中的一切) – 2010-07-17 03:32:17
@Tim,你發佈的代碼中的縮進全部都是錯誤的,所以不可能理解你的問題。請檢查它並編輯你的Q(提示:不要使用製表符 - 僅在每個級別有四個空格縮進)。不確定@Brendan在他的縮進編輯中正確地閱讀了你的想法,因爲你的問題可能很容易被連接到錯誤的縮進上(這取決於@Greg正確地詢問兩個看起來孤立的功能是如何「連接」的)。 – 2010-07-17 03:32:28