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

sys.path.append(BASE_DIR)
#把当前环境变量追加到系统变量中

from core import login

login.ldap()

#结果:
请输入你的名字:kang
请输入你的密码:abc123
login successful!!!

2、编写login.py脚本

#Author Kang

def ldap():
    username =  input("请输入你的名字:")
    password =  input("请输入你的密码:")
    if username == "kang" and password == ‘abc123‘:
        print(‘login successful!!!‘)
    else:
        print(‘login failed‘)

原文地址:http://blog.51cto.com/12965094/2347503

时间: 2024-10-14 04:28:41

Python 之 不同目录间进行模块调用的相关文章

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

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

python 不同目录间的模块调用

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

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

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

python导入上级目录中的模块

python导入同级别模块很方便: import xxx 要导入下级目录页挺方便,需要在下级目录中写一个__init__.py文件 from dirname import xxx 要导入上级目录,可以使用sys.path: 首先sys.path的作用是:当使用import语句导入模块时,解释器会搜索当前模块所在目录以及sys.path指定的路径去找需要import的模块 所以改变思路,直接把上级目录加到sys.path里:sys.path.append('../') from fatherdir

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 mod

目录间文件相互调用

#!/usr/bin/env pythonprint('welcome to my atm')print(__file__)#相对路径import osimport sysprint(os.path.abspath(__file__))#绝对路径print(os.path.dirname(os.path.abspath(__file__)))#上级目录print(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))#上级目录BA

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

Python OS 文件/目录方法

Python OS 文件/目录方法 os 模块提供了非常丰富的方法用来处理文件和目录.常用的方法如下表所示: 序号 方法及描述 1 os.access(path, mode) 检验权限模式 2 os.chdir(path) 改变当前工作目录 3 os.chflags(path, flags) 设置路径的标记为数字标记. 4 os.chmod(path, mode) 更改权限 5 os.chown(path, uid, gid) 更改文件所有者 6 os.chroot(path) 改变当前进程的根

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

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