Модули и функции в Python

У меня есть код который преобразовывает матрицу из csv-файла в матрицу состоящую из нулей и сохраняет её в новый csv-файл , мне нужно чтобы код, производящий преобразования матрицы был выделен в отдельные функции, принимающие исходную матрицу в качестве аргумента и возвращающий преобразованную матрицу через ключевое слово return. Каждая функция должна так же находиться в собственном модуле. Не понимаю, что именно и куда надо добавить, помогите пожалуйста

import csv
m = [[int(token) for token in line.split()] for line in open('tekst.csv')]

mz = [[0] * len(row) for row in m]

with open('resultat_1.csv', 'w') as f:
    for row in mz:
        print(' '.join(map(repr, row)), file=f)
from matplotlib.pyplot import matshow, show

matshow(mz)
show()

Ответы (1 шт):

Автор решения: NykSu

Итого вам видимо нужно сделать три файла. 1й файл называете matrixfile.py Вот его содержимое:

import csv

def GetMatrix(filename):
    return [[int(token) for token in line.split()] for line in open(filename)]

def SaveMatrix(mt, filename):
    with open(filename, 'w') as f:
        for row in mt:
            print(' '.join(map(repr, row)), file=f)

2й файл называете matrixziro.py Вот его содержимое:

def GetZiroMatrix(mt):
    return [[0] * len(row) for row in mt]

Ну и 3й файл называете как угодно, но главное что бы расширение было .py Вот его содержимое:

import matrixfile as mf
import matrixziro as mz
from matplotlib.pyplot import matshow, show

mzr = mz.GetZiroMatrix(mf.GetMatrix('tekst.csv')) 
mf.SaveMatrix(mzr, 'resultat_1.csv')

matshow(mzr)
show()

Всё это должно быть в одной папке. Первые два файла - модули, в них функции. Третий файл - главный, в нем сама программа, вызывающая функции из модулей.

→ Ссылка