繁体   English   中英

在python中调用模块来处理同一个文件。 它适用于一种情况,但不适用于另一种情况,我无法弄清楚有什么不同

[英]Calling a module in python to process the same file. It works in one scenario, but not in the other, and I can't figure out what's different

在此输入图像描述

从上图中可以看出,我在txt_to_csv_space_split_version()的脚本和右下角的脚本中调用了txt_to_csv_space_split_version()模块。 在左上角,由于某种原因(右上角的输出)没有读取文本文件,但是在右下角,它是(在左下角输出)。

我希望这是有道理的 - 请随时要求澄清! 非常感谢!!

编辑:绿色圆圈指向在每个脚本中调用模块的位置。 绿色矩形突出显示模块定义。 红色圆圈表示两个脚本中正在读取相同的文本文件(由同一模块)。 然而,不知何故,该模块似乎对左上角的脚本没有正常工作。

您将使用“w”模式在左上角的脚本中打开文件,这将擦除它的内容。

output_file=open("/Users/markfisher/Desktop/"+filenames[index]+'_output.txt','w')

然后你调用一个打开该文件的函数来读取它的内容:

name_to_be_split="/Users/markfisher/Desktop/"+filenames[index]+'_output.txt'
#print something
transpose.txt_to_csv_space_split_version(name_to_be_split)

index在脚本期间不会更改,因此文件名是相同的。

此时文件内容已经被删除,所以没有什么可读的。 至少那是我可以从你放在那张图片中的多个东西中收集到的:)

Ahaha! 我找到了! 在将它传递给模块之前我忘记了output_file.close()! 我不太明白为什么它会起作用,但确实如此! 非常感谢@Amr让我走上了正确的道路与您的答案!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM