python3 不同目录下的模块调用

我们新手在写python的时候往往会调用其他目录下的模块来干活(老鸟都知道的),有时会不知道怎么办,

如我们在目录B下的脚本d.py需要调用目录A下的脚本c.py这时该怎么做呢 ?

我们需要用到模块os和sys来把A目录加到环境变量中去就行了:

在脚本d.py

import sys,os
BASE_PATH=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(BASE_PATH)
from modules import cal

print(cal.add(1,2))

3

原文地址:http://blog.51cto.com/853056088/2132043

时间: 2024-10-09 20:34:49

python3 不同目录下的模块调用的相关文章

python 不同目录间的模块调用

有时候调用的模块不再同一个目录.直接import 是加载不进来的.默认的加载路径是sys.path中指定的路径.如果要指定加载的目录得需要把这个目录加到sys.path里面. 比如要加载父目录的同级目录下的模块. 当前文件atm.py 要加载的模块settings.py 1.先找到当前文件的绝对路径 import os print(os.path.abspath(__file__))#abspath 返回文件的绝对路径.__file__文件的相当路径 2.找到父级目录 import os pri

Python之路-目录规范和不同目录间进行模块调用

目录规范: 预备知识: 要实现不同目录间进行模块调用必须在当前文件夹中创建一个空的__init__.py的文件(pycharm会在创建python package的时候自动创建),有__init__.py的叫包,没有这个文件叫目录 __file__常量获取当前文件的相等路径 os.path.abspath(filepath)>>>将相等路径转换成绝对路径 os.path.dirname(filepath)>>>获取路径名(最上层文件或目录的父文件夹路径) sys.pat

Python 之 不同目录间进行模块调用

不同目录间进行模块调用 main.py 调用 login.py 1.编写main.py主程序文件 #Author Kang import os import sys # print(sys.path) BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) #程序主目录 # print(BASE_DIR) #/Users/kang/PycharmProjects/不破不立/第二章/20190129/ATM sy

软件目录结构规范以及在不同目录间进行模块调用

目录组织方式: 我想实现,ATM项目里,启动程序bin/atm.py去调用,atm/conf/settings.py和 atm/core/main.py这两个程序,怎么实现呢? 在atm.py里写上代码: 必须用相对路径,使用环境变量__file__可以获得当前文件的相对路径 而Pycharm是从根目录下开始执行的,所以返回的是根路径 而我们需要的绝对路径,所以从上面的相对路径,使用sys模块,得到绝对路径: 我们得到了绝对路径,我们需要向上一级目录. 需要使用os.path.dirname()

不同级的不同目录下的文件调用

如图: 1.要在my_pj中的backend\db\sql_api.py中导入my_pj中的config\settings 代码: import os,sys print(__file__) base_dir = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) sys.path.append(base_dir) """ os.path.dirname()表示去掉路径最后一

python不同目录间模块调用

前置: sys.path是python的搜索模块的路径集. 以下是目录结构: 1.首先同一目录下的模块间调用:b目录下Math_3.py调用Math_4.py 1 import sys 2 print('the path of Math_3 is {}'.format(sys.path)) 3 from Math_4 import Math_4 4 class Math_3: 5 6 def __init__(self, a, b): 7 self.a = a 8 self.b = b 9 10

[转]python3 跨目录模块调用,你真的懂了吗?

小伙伴们,你们有遇到过调用自己写的模块(跨目录模块调用),提示你ImportError:No module named ...的情况,如果有,而且到现在还没有搞明白的,我想说,你今天看对文章了. 这篇文章主要是讲解怎么还原一个出错的场景,然后分析出错原因,一步一步的解决这个问题的思路. 项目结构 代码内容 # model1/student.py def get_name(): return "hting" # model1/new_student.py from student imp

python导入不同目录下模块的方法

下面将具体介绍几种常用情况:(1)主程序与模块程序在同一目录下:如下面程序结构:`-- src    |-- mod1.py    `-- test1.py    若在程序test1.py中导入模块mod1, 则直接使用import mod1或from mod1 import *; (2)主程序所在目录是模块所在目录的父(或祖辈)目录如下面程序结构:`-- src    |-- mod1.py    |-- mod2    |   `-- mod2.py    `-- test1.py    若

利用python os模块搜索指定目录下包含指定字符的文件

Python内置的os模块也可以直接调用操作系统提供的接口函数. os.listdir()可以列出给定目录下的文件和下级目录 os.path.isfile()方法可以验证该文件是否真的存在,注意这里需要完整路径或者相对当前目录下的相对路径. import os def find(dir,name): #print(dir) for i in [x for x in os.listdir(dir) if os.path.isfile(os.path.join(dir,x)) and name in