文件编译但不显示函数的返回值

时间:2018-05-19 13:59:52

标签: python-3.x python-2.7

我有一段代码。当我运行此代码时。它正在编译但没有显示任何打印结果。我想从这个函数打印返回的值。有人可以指导我在哪里错了吗?

`def input_data(prefix):
    datafiles=os.listdir('/home/zeri/Desktop/check2')
    dictData={}
        for df in datafiles:
            if re.match(prefix,df) and 
            os.path.isfile('/home/zeri/Desktop/check2'+'/'+df):
            hmax=locale.atof(df[3:])
            print hmax
            data=np.genfromtxt(df, delimiter=' ')
            dictData[hmax]=data
        return dictData,len(data[0])
int main():
    a=input_data('xyz')
    print a`

1 个答案:

答案 0 :(得分:0)

Python不是C.所以," int main()"不起作用。尽管你可以定义一个名为" main"。

的函数,但最好完全删除这一行

但可能你主要是缩进问题。我试着在下面的代码中解决这个问题。

import locale
import numpy as np
import re

def input_data(prefix):
    datafiles = os.listdir('/home/zeri/Desktop/check2')
    dictData = {}
    for df in datafiles:
        if re.match(prefix, df) and os.path.isfile('/home/zeri/Desktop/check2' + '/' + df):
            hmax = locale.atof(df[3:])
            print hmax          # use "print(a)" if on Python 3
            data = np.genfromtxt(df, delimiter = ' ')
            dictData[hmax] = data
    return dictData, len(data[0])


a = input_data('xyz')
print a                         # use "print(a)" if on Python 3

顺便说一句,我不会使用正则表达式来过滤文件。