Python Glob//的输出在Python代码中找不到错误所在

Python Glob//的输出在Python代码中找不到错误所在,python,output,glob,Python,Output,Glob,我有以下代码,它不会给出错误,但也不会产生输出 脚本用于执行以下操作: 该脚本采用由4个选项卡分隔的列组成的输入文件: 然后计算第1列中的唯一值和第4列中相应值的频率(其中包含两个不同的标记:C和D) 输出为3个制表符分隔的列,其中包含第1列的唯一值以及第4列中相应的值频率:第2列具有第1列中与标记C对应的字符串频率,第3列具有第1列中与标记D对应的字符串频率 以下是一个输入示例: algorithm-n like-1-resonator-n 8.1848 C algorithm

我有以下代码,它不会给出错误,但也不会产生输出

脚本用于执行以下操作:

  • 该脚本采用由4个选项卡分隔的列组成的输入文件:

  • 然后计算第1列中的唯一值和第4列中相应值的频率(其中包含两个不同的标记:C和D)

  • 输出为3个制表符分隔的列,其中包含第1列的唯一值以及第4列中相应的值频率:第2列具有第1列中与标记C对应的字符串频率,第3列具有第1列中与标记D对应的字符串频率

以下是一个输入示例:

algorithm-n   like-1-resonator-n   8.1848   C
algorithm-n   produce-hull-n   7.9104   C
algorithm-n   like-1-resonator-n   8.1848   D
algorithm-n   produce-hull-n   7.9104   D
anything-n   about-1-Zulus-n   7.3731   C
anything-n   above-shortage-n   6.0142   C
anything-n   above-1-gig-n   5.8967   C
anything-n   above-1-magnification-n   7.8973   C
anything-n   after-1-memory-n   2.5866   C
下面是所需输出的示例:

algorithm-n   2   2
anything-n      5   0
我使用的代码如下所示(其中将考虑评论中的所有建议):

我的直觉是问题来自“glob”函数。 但是,正如我之前所说:代码本身并没有给我一个错误——但它似乎也不会产生输出

有人能帮忙吗

我已经参考了文档,我似乎无法理解我做错了什么


有人能告诉我如何通过从
glob
输出结果来解决问题吗。由于我需要处理大量文件。

关于您的原始代码,*lemma\u sense\u freqs*没有定义,因为它应该由函数sortAndCount()返回。你永远不会调用这个函数。 例如,代码中还有第二个函数,称为writeOutCV。定义它,然后在最后一行调用它

虽然您从未调用函数sortAndCount()(该函数应返回*lemma\u sense\u freqs*的值)。因此,出现了错误

我不知道您想要用这些代码实现什么,但是您肯定需要在某个特定点(在最后一行之前尝试)编写类似这样的代码

lemma_sense_freqs = sortAndCount(input_file)
这就是调用所需函数的方式,引理\u sense\u freqs将有一个关联的值,您不应该得到错误


我不能说得更具体,因为还不清楚您想要用该代码实现什么。但是,您目前遇到的只是一个基本问题(您定义了一个函数,但从未使用它来检索值lemma\u sense\u freqs)。尝试添加我建议的代码片段并使用它。

glob()
扩展现有文件名。那很好用。但是,
output\u文件
字符串不会为您展开;使用字符串格式或连接来生成文件名;你在
引理感知频率上有一个名称错误;这是函数
sortAndCount
中的一个本地名称,您从未调用过它。当我使用一个单独的文件作为输入时,它似乎工作正常<代码>以open(“out\u ABC”、“rb”)作为打开的文件:
lemma\u sense\u freqs=sortAndCount(opened\u file)
output\u file=“count.out\u ABC.csv”
writeouttcsv(output\u file,lemma\u sense\u freqs)
在这种情况下,你是如何定义的
lemma\u sense\u freqs的?我读到了你的例外,我不是Martijn Pieters的专家,这就是我请求帮助的原因。我已经根据你的建议修改了我的代码,它仍然给我一个错误。更新后的代码如下:
folderPath=“Python_Counter”
#在这里声明glob.glob(os.path.join(folderPath,'out*')中输入文件的
#打印输入文件
,打开(“out*.”,“rb”)作为打开的文件:
lemma sense\u freks=sortAndCount(打开的文件)
写入TCSV(输出文件,引理感知频率)
感谢您的友好回复。我遵守了你的指示,现在我没有收到任何错误——正如我在修改后的问题中指出的那样。然而,什么也没有发生——没有错误,没有输出。
lemma_sense_freqs = sortAndCount(input_file)