python shell命令行中import多层目录下的模块操作

作者:jiang_mingyi 时间:2023-08-24 11:28:40 

首先在文件夹中添加_init_.py文件,即使是空文件也可以,多层文件夹,每层文件夹中都要添加。

比如我要import,a文件夹中,b文件夹下的 c.py

我就需要在a,b文件夹中都添加_init_.py文件。

然后引入方式:import a.b.c

然后在调用c.py的函数时,直接c.f()是不行的,需要a.b.c.f()。

当然也可以先写 c = a.b.c,然后再c.f()。

python shell命令行中import多层目录下的模块操作

补充知识:Python IDLE shell中引入模块

安装了Python之后,会自带一个Python IDLE,打开之后就是一个Python shell, 在这个Python shell中想引入模块,也就是自己写好的python脚本文件的话,有个路径问题。

如果你把文件放到安装目录的默认shell目录下面,那么引入是没问题的,打开File菜单下的Path Browser,可以看到。

如果你的python脚本文件是放在自己的目录下,比如我的D:\Projects\python目录下,那么引入是会失败的:


>>> import fibo
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
 import fibo
ModuleNotFoundError: No module named 'fibo'
>>>

那么,如何添加我们自己的项目目录呢?就是sys.path这个变量


Python 3.7.1 (v3.7.1:260ec2c36a, Oct 20 2018, 14:57:15) [MSC v.1915 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>> import sys
>>> sys.path.append("D:\Projects\python")
>>> sys.path
['', 'D:\\Program Files\\Python37\\Lib\\idlelib', 'D:\\Program Files\\Python37\\python37.zip', 'D:\\Program Files\\Python37\\DLLs', 'D:\\Program Files\\Python37\\lib', 'D:\\Program Files\\Python37', 'D:\\Program Files\\Python37\\lib\\site-packages', 'D:\\Projects\\python']
>>> import fibo
>>> fibo.fib(1000)
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987

先import sys,引入sys这个模块

然后添加我们的目录到sys.path这个列表中就可以了,接下来我们就可以引入我们项目文件夹中的模块也就是我们的脚本文件了。

来源:https://blog.csdn.net/jiang_mingyi/article/details/78217493

标签:python,shell,命令行,import
0
投稿

猜你喜欢

  • SQL Server 安装出错:以前的某个程序安装已在安装计算机上创建挂起的文件操作

    2010-02-23 14:48:00
  • laravel 解决crontab不执行的问题

    2023-11-15 01:45:18
  • Python操作MySQL数据库的两种方式实例分析【pymysql和pandas】

    2024-01-13 13:34:59
  • 详解OpenCV和PIL读取和显示图像的差异

    2021-07-06 22:17:22
  • 基于php无限分类的深入理解

    2023-11-15 04:07:39
  • Vite版本更新检查实现页面自动刷新的解决思路

    2024-04-27 16:17:07
  • C#Web应用程序入门经典学习笔记之二

    2024-06-05 09:28:00
  • Python字符串常规操作小结

    2023-12-02 08:33:23
  • Javascript中的getUTCDay()方法使用详解

    2024-05-11 10:24:24
  • python利用pandas分析学生期末成绩实例代码

    2023-12-13 19:29:08
  • asp如何修改WINNT的登录密码?

    2010-06-10 17:06:00
  • 微信小程序 HTTPS报错整理常见问题及解决方案

    2024-04-19 09:47:08
  • Python简单实现阿拉伯数字和罗马数字的互相转换功能示例

    2021-08-29 08:52:57
  • mysql 如何使用JSON_EXTRACT() 取json值

    2024-01-16 04:26:46
  • Python时间操作之pytz模块使用详解

    2023-05-10 02:57:17
  • Python中栈、队列与优先级队列的实现方法

    2023-11-03 02:16:53
  • Python操作SQLite数据库过程解析

    2024-01-26 08:16:38
  • vue中element-ui组件默认css样式修改的四种方式

    2024-05-09 10:50:45
  • PHP数组的定义、初始化和数组元素的显示实现代码

    2023-06-08 14:37:28
  • Bootstrap简单实用的表单验证插件BootstrapValidator用法实例详解

    2024-04-08 10:55:44
  • asp之家 网络编程 m.aspxhome.com