我有一段代码。当我运行此代码时。它正在编译但没有显示任何打印结果。我想从这个函数打印返回的值。有人可以指导我在哪里错了吗?
`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`
答案 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
顺便说一句,我不会使用正则表达式来过滤文件。