程序不使用python打印结果

程序不使用python打印结果,python,Python,每当我编译这个程序时,它都不会显示任何打印结果。有人能告诉我这有什么问题吗?其次,我想知道genfrom txt命令正在处理写入文件中的数据,或者它正在使用文件名check1.0和check1.5进行操作 `path="folder" datafiles=os.listdir(path) prefix='check' dicdata={} for df in datafiles: if re.match(prefix,df) and os.path.isfile(df):

每当我编译这个程序时,它都不会显示任何打印结果。有人能告诉我这有什么问题吗?其次,我想知道genfrom txt命令正在处理写入文件中的数据,或者它正在使用文件名check1.0和check1.5进行操作

`path="folder"
datafiles=os.listdir(path)
prefix='check'  
dicdata={}
for df in datafiles:
    if re.match(prefix,df) and os.path.isfile(df):
        print ("df values are %s" % df)

        hmax=locale.atof(df[5:])   
        print ("hmax values are %s"% hmax)
        data=genfromtxt(df, delimiter=', ')
        print data
        dicdata[hmax]=data
        print dictData
       print len(data[0])
问题在于CWD(当前工作目录),它可能与您列出的文件的位置不同:

#/usr/bin/python

import os
import re

path="/home/mortiz/Documents/projects"
datafiles=os.listdir(path)
prefix='check'
dicdata={}
for df in datafiles:
#    print df
    if re.match(prefix,df) and os.path.isfile(path+'/'+df):
 #           print ("df values are %s % df")
            print df
在条件os.path.isfile()中为函数指定文件的绝对路径,则返回True,代码将按预期执行

os.path.isfile(path+'/'+df)

genfromtxt是一个函数,不是一个命令,您在问题中没有提供它,如果不看到它的内容,就无法告诉您它在做什么。

os.listdir
列出目录的内容,但不列出使用它们所需的路径。您需要先在路径前面加上前缀。因为这改变了正则表达式所寻找的内容,所以可以分两步进行测试

path="folder"
datafiles=os.listdir(path)
prefix='check'  
dicdata={}
for df in datafiles:
    if re.match(prefix,df):
        df = os.path.join(path, df)
        if os.path.isfile(df):
            print ("df values are %s" % df)
            hmax=locale.atof(df[5:])   
            print ("hmax values are %s"% hmax)
            data=genfromtxt(df, delimiter=', ')
            print data
            dicdata[hmax]=data
            print dictData
            print len(data[0])

我们无法查看
数据文件
提供的内容或您的
genfromtxt
函数。。。尝试打印for循环之外的任何内容
print(df)
在循环中,您将看到它只是文件名,而不是路径。包括函数genfromtxt。
os.listdir
列出目录的所有内容。文件、子目录、链接、特殊文件。True@tdelaney。修正我的答案,因为我已经测试了脚本的一部分,而行为并不是我所期望的。如何检查数据的维度?因为在不知道维度的情况下,我无法在实际代码中继续执行True,在您提到函数的功能后,我意识到了这一点,再次测试,结果很明显:)我尝试了上述代码,但它给出了ValueError:无法将字符串转换为浮点:r/check1.5我已修复了值错误,但当我打印数据时,它给出了我[nan nan nan]。我想知道genfromtxt函数是否会在名为check1.0和check1.5的文件中显示将值分隔的结果