import导入不同目录下的方法

本文介绍了在Python中如何在不同目录结构下导入模块的方法,包括:1. 主程序和模块在同一目录下直接导入;2. 主程序在模块的父目录或更高层级目录下,通过`from...import...`导入;3. 使用`sys.path`动态添加路径来导入上层或其他目录的模块,并给出了具体示例。

环境:mac+python2.7

目录结构:
在这里插入图片描述
1.主程序和模块在同一目录下
configtext.py 中导入模块 test_yeepbank.py

import test_yeepbank 或者 from test_yeepbank import *
2.主程序所在目录是待导入模块所在目录的父目录或者祖辈目录
runtest.py导入模块test_yeepbank.py模块
from test_case import test_yeepbank
3.主程序导入上层目录中的模块或者其他目录下的模块
test_yeepbank.py 导入模块 login.py

import sys
sys.path.insert(0,’/Users/xiaoju/PycharmProjects/xr58/test_project/login_infor/’)
import login
在test_yeepbank.py 调用 login.py中的方法logintest

login.py程序如下:

#coding=utf-8
#Author:XIAOJU
from selenium import webdriver
import time
class Userlogin():
     def logintest(self,driver,username,passwd):
     self.driver=driver
     self.driver.get('https://www.xxxx.com')
     self.driver.find_element_by_link_text('登录').cl
在Python中,导入不同目录下函数有以下几种常见方法: #### 利用`sys.path`导入文件夹路径 可以通过`sys.path`先导入文件夹路径,再导入函数。示例如下: ```python import sys # 导入指定文件夹路径 sys.path.insert(1, r'c:\\Users\\SJWZSYO\\Desktop\\Arbeit\\hard_python') # 从指定文件夹中的模块导入函数 from cmd.friend_list import show_list ``` 也可以使用`sys.path.append`添加路径: ```python import sys sys.path.append("D:/neural_network/Webp/Encoder_analyze") # 假设该路径下有一个名为 module 的模块,其中有一个函数 func from module import func ``` 还可以结合`os.path.dirname`和`__file__`动态获取路径并添加到`sys.path`中: ```python import sys import os # 此处os.path.dirname()可以获得上一级目录,也就是当前文件或文件夹的父目录 # 将目录加入到sys.path即可生效,可以帮助python定位到文件(注:这种方法仅在运行时生效,不会对环境造成污染) sys.path.append(os.path.dirname(os.path.dirname(__file__))) import test2.second as second second.hello() ``` #### 包和`__init__.py`文件的使用 在Python模块的每一个包中,都有一个`__init__.py`文件(这个文件定义了包的属性和方法),然后是一些模块文件和子目录,假如子目录中也有`__init__.py` ,那么它就是这个包的子包了。当将一个包作为模块导入(比如从`xml`导入`dom`)的时候,实际上导入了它的`__init__.py` 文件。例如,有如下目录结构: ``` my_package/ __init__.py module1.py sub_package/ __init__.py module2.py ``` 可以这样导入不同目录下的函数: ```python from my_package.module1 import function1 from my_package.sub_package.module2 import function2 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值