如何将Python一个模块的输出写入另一个模块的CSV文件?
解决方案
方法1:函数返回值传递(推荐)
修改第一个模块的函数,让它返回统计结果,再在第二个模块里调用这个函数,把结果加入到要写入的内容列表中。
第一个模块(假设叫sentence_module.py):
def sentence_token(): # 这里是你的原有代码 tokens = ["示例tokens"] # 替换成你的实际tokens sentences = sentence_tokenizer(tokens) # 假设sentence_tokenizer已实现 count_sentence = f"total count of sentence is {len(sentences)}" return count_sentence # 返回统计字符串
第二个模块:
# 导入第一个模块的函数 from sentence_module import sentence_token def word_pos_definition(): # 这里是你的原有代码 word_pos_definition_content = [] # 获取句子统计结果并添加到内容列表 sentence_count = sentence_token() word_pos_definition_content.append(sentence_count) with open('get_para_report.csv', 'w') as final_csv_file: final_csv_file.write('\n'.join(word_pos_definition_content))
方法2:抽离文件写入逻辑
把写入文件的操作单独做成一个工具函数,两个模块都可以调用,这样更便于维护。
新增工具模块file_utils.py:
def write_report(content_list): with open('get_para_report.csv', 'w') as final_csv_file: final_csv_file.write('\n'.join(content_list))
第一个模块:
def sentence_token(): # 原有代码 tokens = ["示例tokens"] sentences = sentence_tokenizer(tokens) count_sentence = f"total count of sentence is {len(sentences)}" return count_sentence
第二个模块:
from sentence_module import sentence_token from file_utils import write_report def word_pos_definition(): # 原有代码 word_pos_definition_content = [] # 获取统计结果并写入 sentence_count = sentence_token() word_pos_definition_content.append(sentence_count) write_report(word_pos_definition_content)
方法3:全局变量(不推荐,仅作参考)
全局变量会让代码耦合度变高,不利于维护,只适合简单临时场景:
第一个模块:
# 定义全局变量 count_sentence = "" def sentence_token(): global count_sentence # 原有代码 tokens = ["示例tokens"] sentences = sentence_tokenizer(tokens) count_sentence = f"total count of sentence is {len(sentences)}"
第二个模块:
from sentence_module import count_sentence, sentence_token def word_pos_definition(): # 先调用函数更新全局变量的值 sentence_token() # 原有代码 word_pos_definition_content = [] word_pos_definition_content.append(count_sentence) with open('get_para_report.csv', 'w') as final_csv_file: final_csv_file.write('\n'.join(word_pos_definition_content))
内容的提问来源于stack exchange,提问作者lungsang
相关产品推荐
相关产品推荐

