# randomize.py
import os
import sys
import re
import shuti1
import json
import cProfile
import random
li = ["dog dot", "do don't", "dumb-dumb", "no match"]
for element in li:
m = re.match("(d\w+)\W(d\w+)", element)
if m:
print(m.groups())
for _, __ in enumerate(sys.path):
shuti1.initialize('Hello', '!', 'HackerEarth')
print __
while True:
li_random = random.choice(li)
print li_random
if li[0] in li_random:
break
# shuti1.py
import sys
import randomize
import collections
import math
from collections import Counter
class HackerEarth(object):
def __init__(self, name, role, hobby):
self.name = name
self.role = role
self.hobby = hobby
def print_details(self):
print "Name:", self.name
print "Role:", self.role
print "Hobby:", self.hobb
cnt = Counter()
for word in ['red', 'blue', 'red', 'green', 'blue', 'blue']:
cnt[word] += 1
def initialize(greet, character, company):
print greet, character, company
当我运行程序时,我得到了如下错误:
Traceback (most recent call last):
File "C:/Users/SAGAR/Desktop/randomize.py", line 5, in <module>
import shuti1
File "C:\Python34\shuti1.py", line 3, in <module>
import randomize
File "C:/Users/SAGAR/Desktop\randomize.py", line 18, in <module>
shuti1.initialize('Hello', '!', 'HackerEarth')
AttributeError: 'module' object has no attribute 'initialize'
答案 0 :(得分:1)
我会猜测initialize
是HackerEarth
课程的一部分,因为你没有做太多确认。如果是这种情况,initialize
不是模块的一部分,它是类的一部分,所以你需要一个HackerEarth对象才能调用它。
如果不是这样的话,可能是Peter Wood提到的循环导入(抱歉,不知道如何标记!)。这意味着您要将shuti1.py
导入randomize.py
和randomize.py
导入shuti1.py
。可以通过查看错误消息确认这一点:
文件&#34; C:/Users/SAGAR/Desktop/randomize.py",第5行,
import shuti1
文件&#34; C:\ Python34 \ shuti1.py&#34;,第3行,
导入随机化
最后,如果您使用IDE,则可能由IDE引起。 Pycharm要求所有导入的文件都在项目中或python目录的一部分。如果你能用其他两件事来解决这个问题,请检查类似的东西。
希望有所帮助