簡體   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