python在windows下import其他模块的注意事项

简介: 初学python,在同一目录中创建了两个py文件:a.py和b.py,然后在a.py中import b.pyfrom . import b......在linux下执行没有问题,但是在windows下就提示  ImportError: cannot import name 'b'在网上搜了半天也没有找到问题所在,后来还是在google上找到了答案。

初学python,在同一目录中创建了两个py文件:a.py和b.py,然后在a.py中import b.py

from . import b
......

在linux下执行没有问题,但是在windows下就提示  ImportError: cannot import name 'b'

在网上搜了半天也没有找到问题所在,后来还是在google上找到了答案。

原来是python会在sys.path下去找import的python文件,我输出了一下sys.path:

import sys
print(sys.path)

sys.path里并没有我的项目文件夹,所以import的时候就会出错,用以下代码即可解决:

import sys
import os
sys.path[0]=os.path.dirname(os.path.realpath(__file__))
from . import b
然后再 from . import b 就ok了!


如果更完善些,可以判断一下当前的运行环境,如果是linux,就不用设置sys.path了

import platform
 
def isWindowsSystem():
    return 'Windows' in platform.system()
 
def isLinuxSystem():
    return 'Linux' in platform.system()

if isWindowsSystem() :
    import sys
    import os
    sys.path[0]=os.path.dirname(os.path.realpath(__file__))
from . import b


还有另外一种更简单的办法:

import sys
sys.path.append("./")

import a



相关文章
|
17天前
|
安全 大数据 程序员
Python operator模块的methodcaller:一行代码搞定对象方法调用的黑科技
`operator.methodcaller`是Python中处理对象方法调用的高效工具,替代冗长Lambda,提升代码可读性与性能。适用于数据过滤、排序、转换等场景,支持参数传递与链式调用,是函数式编程的隐藏利器。
64 4
|
11天前
|
存储 数据库 开发者
Python SQLite模块:轻量级数据库的实战指南
本文深入讲解Python内置sqlite3模块的实战应用,涵盖数据库连接、CRUD操作、事务管理、性能优化及高级特性,结合完整案例,助你快速掌握SQLite在小型项目中的高效使用,是Python开发者必备的轻量级数据库指南。
116 0
|
2月前
|
存储 安全 数据处理
Python 内置模块 collections 详解
`collections` 是 Python 内置模块,提供多种高效数据类型,如 `namedtuple`、`deque`、`Counter` 等,帮助开发者优化数据处理流程,提升代码可读性与性能,适用于复杂数据结构管理与高效操作场景。
104 0
|
3月前
|
数据安全/隐私保护 Python
抖音私信脚本app,协议私信群发工具,抖音python私信模块
这个实现包含三个主要模块:抖音私信核心功能类、辅助工具类和主程序入口。核心功能包括登录
|
6月前
|
Python
Python教程:os 与 sys 模块详细用法
os 模块用于与操作系统交互,主要涉及夹操作、路径操作和其他操作。例如,`os.rename()` 重命名文件,`os.mkdir()` 创建文件夹,`os.path.abspath()` 获取文件绝对路径等。sys 模块则用于与 Python 解释器交互,常用功能如 `sys.path` 查看模块搜索路径,`sys.platform` 检测操作系统等。这些模块提供了丰富的工具,便于开发中处理系统和文件相关任务。
243 14
|
Python
89 python高级 - import导入模块
89 python高级 - import导入模块
94 0
|
Python
[Python] 如何用import导入模块
[Python] 如何用import导入模块
165 0
|
Python
Python编程:import导入不同目录的模块
Python编程:import导入不同目录的模块
399 0
|
Python
Python-学习-import语句导入模块
简单的学习一下调用外部的模块文件。
197 0
Python-学习-import语句导入模块
|
Python
Python中import导入模块
Python中import导入模块
180 0

热门文章

最新文章

推荐镜像

更多