从模块访问功能

时间:2011-12-12 12:41:52

标签: python class definition

我无法弄清楚如何将我的简单函数添加到我的主程序文件中。为什么不呢?

当我这样做时:

import print_text 

echothis("this is text")
exit()

无法理解为什么人们认为这是一个非常糟糕的问题。

这也不起作用:

print_text.echothis("this is text")
如果我输入以下任何答案,也会发生同样的事情。 包括:

from print_text import echothis

我刚收到此错误:

from: can't read /var/mail/print_text
./blah3.py: line 3: syntax error near unexpected token `"this is text"'
./blah3.py: line 3: `print_text.echothis("this is text")'

或没有/ var / mail行的变体......

*此文件名为print_text.py *

#!/usr/bin/env python

import time
import random
import string
import threading
import sys

def echothis(txt):
    woo=txt
    stdout.write(woo)

2 个答案:

答案 0 :(得分:1)

编辑:你实际上没有python问题,而是一个bash问题。你正在运行你的python脚本,好像它是bash(因此'from:无法读取'),你是否将#!/usr/bin/env python放在正在运行的文件的开头(而不是{{1} },另一个)?你也可以这样称呼它:print_text.py它应该可以工作。



导入模块时,它是命名空间,因此如果要使用来自该模块的任何内容,则需要使用正确的命名空间来调用它。在这里,您可以使用python myfile.py为您echothis打电话。

或者,如果要在主命名空间中包含print_text.echothis,可以使用echothis语法。

答案 1 :(得分:0)

试试这个:

import print_text

print_text.echothis("this is a text")