hotnet 发表于 2015-12-3 11:39:07

Pycharm新建Python文件名称与将导入的模块名相同会出现的问题

问题
  在进行测试下面一段间断的代码时,运行时总是发现Pycharm报错,提示:AttributeError: 'module' object has no attribute 'call'。
  
但是在Python解释器中直接输入下面的代码却没有任何问题,甚是奇怪。
  

import subprocess  

  
def test():
  subprocess(('ls', '-l')
  

  
if __name__ == '__main__:
  test()
  

分析


[*]在Pycharm的Terminal中输入python3进入解释器环境;
[*]在解释器中导入模块subprocess;
[*]输入dir(subprocess)后,发现了问题所在,发现这个subprocess模块确实没有call方法。于是想到当前的文件名是subprocess.py,所以在导入模块时,Pycharm默认导入了这个。
[*]将文件名修改后,测试可以正常运行了。
总结


[*]千万不要在pycharm中让新建的文件名和常用的模块名称相同!!!否则,可能会导致模块导入失败的问题发生!!!切记!!!!
页: [1]
查看完整版本: Pycharm新建Python文件名称与将导入的模块名相同会出现的问题