从main获取raw_input数据

时间:2014-05-01 01:05:50

标签: python-2.7 raw-input

我是python的新手,也没有太多的编程经验。

我在主文件中有这个代码:

def user_input():
   import re
   name_check = re.compile(r"[^A-Za-z\s. ]")
   print("Please enter name input: ")
   name = raw_input("> ")
   return name

def test():



if __name__ =="__main__":
   user_input()
   test()

如何获取user_input参数以便在其他子模块中处理它? 我正在尝试将主模块导入子文件模块,但它不起作用。 这是我的程序结构:

/main
  __init__.py  
  main.py
  /child
    __init__.py    
    child1.py
    child2.py

我需要将user_input数据传递给child1.py。当我导入main时:

from main.main import user_input

我收到了错误消息:

No module named main.main

任何评论都会非常感激。

干杯

1 个答案:

答案 0 :(得分:0)

此代码通过raw_input()函数中的user_input()输入,然后使用return返回它。在我们的print_input()函数中,我们在输入。在我们的main()函数中,我们将返回值从user_input()分配给name,然后将其传递给print_input()

def user_input():
    name = raw_input("Please enter name input:\n> "
    return name

def print_input(name):
    print "Hello", name

def main():
    name = user_input()
    print_input(name)

if __name__ =="__main__":
    main()

修改

main.py

def user_input():
    name = raw_input("Please enter name input:\n> "
    return name

def print_input(name):
    print "Hello", name

def main():
    name = user_input()
    print_input(name)

要从此处调用函数,请执行以下操作:

>>> from main import user_input, print_input
>>> 
>>> print_input(user_input())
Please enter name input:
> aj8uppal
Hello aj8uppal
>>>