划重点:
其中dataset_path = ''表示在Python工作文件夹
dataset_path = '..'表示在Python工作文件夹的上级文件夹
dataset_path = '某某文件夹/'表示在Python工作文件夹的某个下级文件夹
 

Python 数据集的相对路径/选择上级文件夹

 
选取相对路径关键在于两行代码
import os
dataset_path = ''
datafile2 = os.path.join(dataset_path, '跨境审核辅助表.xls')

关于具体使用:

import os
dataset_path = ''
datafile2 = os.path.join(dataset_path, '跨境审核辅助表.xls')
data.to_excel(datafile2)

以上代码为在Python工作文件夹下直接输出excel  跨境审核辅助表.xls

 

python import 同级目录

 
pycharm不会将当前文件目录自动加入自己的sourse_path。右键make_directory as-->Sources Root将当前工作的文件夹加入source_path就可以了。
还有一点:models加一个点,表示同级目录。from .models import classN
import功能实际应用还有很多坑:
比如,不通过模块名字,直接引入模块内的类
我们创建一个包叫ccc,然后下面的init里面什么也没写,都是空的
然后bbb.by里面的内容是:
def a():
print (1)

如果你要访问这个函数a

首先第一点,一个写法:
from ccc.bbb import a ,注意,他只能通过 包名.模块名来import具体函数
如果你直接用from ccc import a ,是会报警的,报警如下:
>>> from ccc import a
Traceback (most recent call last):
File "<input>", line 1, in <module>
ImportError: cannot import name 'a'
其实,关键是,如果你要通过from ccc import a,重要的是init的内容
如果我们把init内容写成下图3
from .bbb import a,这里面的 .bbb是什么意思呢?就是在同级目录下面的bbb模块,如果前面是2个点,那就是上级目录的bbb
 
现在,要讲一个重要概念!!!
当你导入一个包的时候,实际上是导入了这个包的init.py的文件,所以,如果你在init里面写入了其他的import功能,就等于是在初始化的时候帮忙导入了其他东西。
就比如下面的例子,他在导包的时候,就顺便导入了a这个函数!!  
从这个话题引申到其他话题,我在做flask第一节课的时候一直无法理解,为什么from flask import Flask可以成功?
第一个flask是包,第二个Flask是类,但是,实际上这个Flask类是在flask包的目录下app.py里面的。
所以后来我去看了flask包的init.py,原来在里面,他已经帮你导入了Flask类,所以你在导入flask包的时候,就已经可以直接导Flask类了
看到里面的 from .app import Flask, Request, Response
.app就表示了在flask包下,和init同级的app.py
 
 
 
————————————————————————————————————

python import 上级目录

有时候我们可能需要import另一个路径下的python文件,例如下面这个目录结构,我们想要在_train.py里import在networks目录下的_lstm.py和上级目录下的_config.py。
 
_config.py
networks
_lstm.py
_cnn.py
pipelines
_train.py

只需两步操作

(1)在networks文件夹下创建空的__init__.py文件
 
_config.py
networks
__init__.py
_lstm.py
_cnn.py
pipelines
_train.py
(2)使用sys库添加路径
 
import sys
sys.path.append("..")
from networks._lstm import *
from _config import *
---------------------
 
参考链接:

python 导入同级目录文件、上级目录文件以及下级目录数据集和模块包的更多相关文章

  1. python 导入同级目录文件时报错

    当你import的时候,python解释器只会在sys.path这个变量(一个list,你可以print出来看)里面的路径中找可能匹配的package或module. 而一个package跟一个普通文 ...

  2. python 导入模块的坑。为什么整个项目能运行,单独运行某个文件模块就报错?多层目录不同文件夹怎么导入?

    一些文章介绍了python不同目录怎么导入问题,但py文件运行起点却从来没有文章说过!这是相当重要的!! 这个连接是网上99%的所讲的导入 https://www.cnblogs.com/luoye0 ...

  3. python导入上级目录中的模块

    python导入同级别模块很方便: import xxx 要导入下级目录页挺方便,需要在下级目录中写一个__init__.py文件 from dirname import xxx 要导入上级目录,可以 ...

  4. Python复制指定目录的各个子目录下的同名文件到指定文件夹并重命名

    Python复制指定目录的各个子目录下的同名文件到指定文件夹并重命名 #编码类型 #-*- coding: UTF-8 -*- #导入包 import os import shutil srcpath ...

  5. Python脚本:linux上将筛选的文件夹复制到另一个目录,保存目录结构以及文件和文件夹操作方法

    import os,shutil def newDir(dir_path): if not os.path.exists(dir_path): os.makedirs(dir_path) def co ...

  6. 【Python文件处理】递归批处理文件夹子目录内所有txt数据

    因为有个需求,需要处理文件夹内所有txt文件,将txt里面的数据筛选,重新存储. 虽然手工可以做,但想到了python一直主张的是自动化测试,就想试着写一个自动化处理数据的程序. 一.分析数据格式 需 ...

  7. 一个获取指定目录下一定格式的文件名称和文件修改时间并保存为文件的python脚本

    摘自:http://blog.csdn.net/forandever/article/details/5711319 一个获取指定目录下一定格式的文件名称和文件修改时间并保存为文件的python脚本 ...

  8. python实现查看目录下重复的文件

    该python 脚本有以下三个功能: 1. 实现查看目录下重复的文件,输出文件按修改时间升序排列 2. 将按修改时间排列比较旧的.可删除的文件列出来 3. 按目录对重复文件进行统计,比如,目录/tmp ...

  9. Python读取一个目录下的所有文件

    #!/usr/bin/python # -*- coding:utf8 -*- import os allFileNum = 0 def printPath(level, path): global ...

随机推荐

  1. Java整合极光推送 ( 简单 )

    Java 整合极光推送官方文档:https://github.com/jpush/jpush-api-java-client 这里记录一下简单的使用步骤:创建一个普通的 Maven 工程然后添加依赖 ...

  2. B/S与C/S架构的区别

    C/S架构优点:1)界面比较丰富2)安全性高3)实现的功能更多,可以实现更复杂的业务4)客户端可以处理部分业务,分担服务器端压力缺点:1)需要开发独立的客户端软件,开发成本高2)需要安装独立的客户端软 ...

  3. animation几个比较好玩的属性(alternate,及animation-fill-mode)

    <!DOCTYPE html> <html> <head> <style> div { width:100px; height:100px; backg ...

  4. 1669 DINIC+二分

    题意:       给你一些名单,和每个名单可以放在哪个分组里,现在要求你把所有的人都分到一个他属于的分组(之一),然后问你分组中最多的那个人数最少是多少... 思路:      二分最多的最少,然后 ...

  5. hdu4450 不错的贪心

    题意: 卡片游戏 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total S ...

  6. POJ2553 强连通出度为0的应用

    题意:       给你一个有向图,然后问你有多少个满足要求的点,要求是: 这个点能走到的所有点都能走回这个点,找到所有的这样的点,然后排序输出. 思路:       可以直接一遍强连通缩点,所点之后 ...

  7. hdu4885 有 限制的最短路

    题意:       给你起点终点,和一些加油站,和每次加油后的最大行驶距离,问你从起点到终点最少加油次数,要求两点之间必须走直线,见到加油站必须加油,也就是说如果想从a走到b,那么a,b连线上的加油站 ...

  8. poj2418map或者字典树

    题意:      给你一些串,然后求出每个串出现的概率. 思路:      简单题目,做法也很多,我用字典树做了下,然后又用map做了下,其实这个题目我感觉直接排序一遍之后线性输出应该是最简单最快的( ...

  9. Weblogic SSRF漏洞(CVE-2014-4210)

    Weblogic中存在一个SSRF漏洞,利用该漏洞可以发送任意HTTP请求,进而攻击内网中redis.fastcgi等脆弱组件. 关于SSRF漏洞我们就不讲了,传送门--> SSRF(服务端请求 ...

  10. Ubuntu部署项目

    一.Ubuntu目录结构 目录 说明 bin 存放二进制可执行文件(ls,cat,mkdir等) .exe== boot 存放用于系统引导时使用的各种文件 开机引导 dev 用于存放设备文件 打印机啥 ...