python:一个文件中有几个函数,AttributeError“module”对象没有attribu

2024-04-25 22:06:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我是python的初学者,我刚刚用python创建了一个模块文件,其中包含几个函数。当我调用文件中定义的第一个函数时,一切正常。但当我试图调用第二个函数时,它说:

AttributeError: 'module' object has no attribute 'file2file'(file2file是我自己定义的函数)

这是文件的代码

import sys
import scipy as sci
import scipy.sparse as sp
import numpy as np

def file2map(inf):
    dic = dict()
    with open(inf, "r") as fin:
        for line in fin:
            s = line.split("\t")
            dic[(int(s[0]),int(s[1]))] = float(s[2])
    return dic

def file2file(inf,outf):
    with open(inf, "r") as fin:
        with open(outf, "w") as fout:
        for line in fin:
            s = line.split("\t")
            fout.write("t{0}\t{1}\t{2}\n",s[0],s[1],s[2])

文件名是dataprocessing.py,当我键入dataprocessing.file2map('xxx.data')时,它没有问题,但是当我键入dataprocessing.file2file('xxx.data','out.data')时,生成了一条AttributeError: 'module' object has no attribute 'file2file'的错误消息。在

非常感谢!在


Tags: 文件函数importdata定义aswithline
1条回答
网友
1楼 · 发布于 2024-04-25 22:06:17

也许这并不是导致错误的原因,但是我看到您在file2file(inf,outf)中最内部的for循环中错过了一个缩进

它应该是:

def file2file(inf,outf):
    with open(inf, "r") as fin:
        with open(outf, "w") as fout:
            for line in fin:
                s = line.split("\t")
                fout.write("t{0}\t{1}\t{2}\n",s[0],s[1],s[2])

相关问题 更多 >