當我定義一個函數時,它不返回任何值。不過,我已經在IDLE中驗證了函數的代碼,並且它可以工作。哪裏有問題?該文件確實包含我想要獲得的值。當我使用調試器時,執行此功能,它會從'for reader in row'跳轉到最後。我的問題在哪裏?我的代碼:函數不返回值
import re,csv
F=open('file.csv')
# `......`
def prog_rownum(Ref,s):
P=[]
reader=csv.reader(s)
for row in reader:
m=re.match(Ref,','.join(row))
if m:
P.append(reader.line_num)
return P
# `......`
P1=prog_rownum('U16',F)
# `......`
在文件中的數據(colnum AC)是這樣,比較遺憾的是不特定的信息:
InstPin Netlist RefDes
U16:0:NMI 0 U16
U16:0:O\E\ 0 U16
U16:0:R\S\T\ 0 U16
U16:0:REF_FREQ 0 U16
U16:0:REFCLK_C 0 U16
U16:0:REFCLK_N 0 U16
U16:0:REFCLK_P 0 U16
U16:0:RX_N0 0 U16
U16:0:RX_N1 0 U16
U16:0:RX_N10 0 U16
U16:0:RX_N11 0 U16
U16:0:RX_N12 0 U16
U16:0:RX_N13 0 U16
我只是想返回所需的rownum其中包含我需要的信息。
如何測試它你知道它沒有回報價值?給我們一些我們可以重現的東西,至少包括展示問題的樣本數據。 – agf
你試過了嗎:'print P1' –
你確定你的縮進是正確的嗎?特別是沒有標籤和空格的混合? (如果返回行與其他行縮進不同,它可能不會與右側塊關聯) – Randomness