python文件的路径问题补充上一篇内容
上次的路径问题还没解决就被勒索病毒的木马器给搞了两周多, 拖拖拖到现在又开始纠结路径问题...还是学习能力不足啊...
补充一下路径问题的知识, 毕竟jupyter notebook跟IDE测试的时候有不同的结果, 是不是换个更好的IDE来测试避免这种基础问题比较好呢?
第一种
#!/usr/bin/env Python3
# -*- coding:utf-8 -*-
import os
# 当前文件的完整路径名:C:\study\memo\core\text.py
print(os.path.dirname(os.path.dirname(__file__))) # 获取当前文件所在目录的上级目录:c:\study\memo
print(os.path.dirname(__file__)) # 获取当前文件所在目录:c:\study\memo\core
print(os.getcwd()) # 获取当前运行的目录:C:\study
print(os.path.dirname(r'd:\downloads')) # 获取指定目录的上级目录:d:\
print(f"获取** 相对** 路径".center(50, "*"))
print(os.path.basename(__file__)) # 获取当前文件名称:text.py
print(os.path.basename(r'd:\downloads')) # 获取指定目录的相对路径,即当前目录名:downloads
print(f"获取** 绝对 **路径".center(50, "*"))
print(os.path.abspath(__file__)) # 获取当前文件的绝对路径:c:\study\memo\core\text.py
print(os.path.abspath(r'd:\downloads')) # 获取指定目录的绝对路径:d:\downloads

第二种, file前面加了个abspath
#!/usr/bin/env Python3
# -*- coding:utf-8 -*-
import os
# 当前文件的完整路径名:C:\study\memo\core\text.py
print(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
# 获取当前文件所在目录的上级目录:c:\study\memo
print(os.path.dirname(os.path.abspath(__file__))) # 获取当前文件所在目录:c:\study\memo\core
print(os.getcwd()) # 获取当前运行的目录:C:\study
print(os.path.dirname(r'd:\downloads')) # 获取指定目录的上级目录:d:\
print(f"获取** 相对** 路径".center(50, "*"))
print(os.path.basename(__file__)) # 获取当前文件名称:text.py
print(os.path.basename(r'd:\downloads')) # 获取指定目录的相对路径,即当前目录名:downloads
print(f"获取** 绝对 **路径".center(50, "*"))
print(os.path.abspath(__file__)) # 获取当前文件的绝对路径:c:\study\memo\core\text.py
print(os.path.abspath(r'd:\downloads')) # 获取指定目录的绝对路径:d:\downloads

刚开始学习的时候常常会不清楚运行的路径,多测试一下多print一下没坏处
python文件的路径问题补充上一篇内容的更多相关文章
- python文件及路径管理函数
glob模块 说明: 1.glob是python自己带的一个文件操作相关模块,用它可以查找符合自己目的的文件,就类似于Windows下的文件搜索, 支持通配符操作 *.?.[] 这三个通配符,*代表0 ...
- python 文件和路径操作函数小结
1: os.listdir(path) //path为目录 功能相当于在path目录下执行dir命令,返回为list类型 print os.listdir('..') 2: os.path.walk( ...
- Python文件操作,with open as追加文本内容实例
最常见的读写操作 import re with open('/Users/Mr.Long/Desktop/data.txt', 'w') as f: f.write('hello world') 就这 ...
- 评论抓取:Python爬取微信在APPStore上的评论内容及星级
#完整程序如下: import requests import re def getHTMLText(url): try: r = requests.get(url) r.raise_for_stat ...
- ie下获取上传文件全路径
ie下获取上传文件全路径,3.5之后的火狐是没法获取上传文件全路径的 /*获取上传文件路径*/ function getFilePath(obj) { var form = $(this).paren ...
- 初学Python——文件操作第二篇
前言:为什么需要第二篇文件操作?因为第一篇的知识根本不足以支撑基本的需求.下面来一一分析. 一.Python文件操作的特点 首先来类比一下,作为高级编程语言的始祖,C语言如何对文件进行操作? 字符(串 ...
- python-模块入门二(模块循环导入,区分python文件的两种用途,模块搜索路径,软件开发的目录规范)
一.模块的循环导入问题 run.py # import m1 # 第一次导入 m1.py # 错误示范 ''' print('正在导入m1') from m2 import y #第一次导入m2 x= ...
- python 全栈开发,Day29(昨日作业讲解,模块搜索路径,编译python文件,包以及包的import和from,软件开发规范)
一.昨日作业讲解 先来回顾一下昨日的内容 1.os模块 和操作系统交互 工作目录 文件夹 文件 操作系统命令 路径相关的 2.模块 最本质的区别 import会创建一个专属于模块的名字, 所有导入模块 ...
- python使用os.listdir和os.walk获得文件的路径
python使用os.listdir和os.walk获得文件的路径 目录 情况1:在一个目录下面只有文件,没有文件夹,这个时候可以使用os.listdir 情况2:递归的情况,一个目录下面既有目录 ...
随机推荐
- SSH 连接慢
关闭连接时的 DNS 解析 # 编辑配置文件,修改如下配置项 vim /etc/ssh/sshd_config GSSAPIAuthentication no UseDNS no # 重启服务 sys ...
- 如何解决Java警告信息:"objc[31336]: Class JavaLaunchHelper is implemented in both places ..."
在macOS High Sierra Version 10.13.6下使用Intellij在Java 8上执行Java程序,console中会打印如下警告信息: objc[31336]: Class ...
- docker安装elasticsearch
docker search elasticsearch 选择一个版本,拉取镜像 docker pull elasticsearch: 查看镜像 docker images 通过镜像,启动一个容器,并将 ...
- python3.4 + pycharm 环境安装 + pycharm使用
因个人是windows的环境,所以本文只讲windows环境下的python安装. 作为初用python的盆友,强烈建议只在电脑上装一个python版本就好了,不然就进了各种坑里了. 第一步:下载和安 ...
- 从tom大叔那想着拿书的,呵呵。
//var tgtttime = new Date("2014/05/26 09:59:30"); var tgtttime = new Date("2014/05/26 ...
- python使用正则解析网络地址的各个部分
参考文章: https://www.cnblogs.com/ingd/p/6182571.htmlimport re def resolveAddress(url): ""&quo ...
- docker简单介绍---部署私有docker仓库Registry
1. 关于Registry 官方的Docker hub是一个用于管理公共镜像的好地方,我们可以在上面找到我们想要的镜像,也可以把我们自己的镜像推送上去.但是,有时候,我们的使用场景需要我们拥有一个私有 ...
- W3CSchool闯关笔记(Bootstrap)
该闯关内容与JS闯关衔接. 每一题的答案均在注释处, 第一关:把所有的HTML内容放在一个包含有container-fluid的class名称的div下(注意,是所有的HTML内容,style标签属于 ...
- 【java】Java组件概览(2)— 基本库
1.Math Math相关的库包括包括浮点库(java.lang.Math和java.lang.StrictMath)和任意精度数学(java.math包). (1)java.lang.Math 该类 ...
- powermock单元测试小结
最近时不时的需要单元测试来写覆盖率.简单总结一下日常心得: 1.首先指明需要测试的类:@PrepareForTest({ RewardGoldServiceImpl.class }) 2.其次在测试类 ...