上次的路径问题还没解决就被勒索病毒的木马器给搞了两周多, 拖拖拖到现在又开始纠结路径问题...还是学习能力不足啊...

补充一下路径问题的知识, 毕竟jupyter notebookIDE测试的时候有不同的结果, 是不是换个更好的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文件的路径问题补充上一篇内容的更多相关文章

  1. python文件及路径管理函数

    glob模块 说明: 1.glob是python自己带的一个文件操作相关模块,用它可以查找符合自己目的的文件,就类似于Windows下的文件搜索, 支持通配符操作 *.?.[] 这三个通配符,*代表0 ...

  2. python 文件和路径操作函数小结

    1: os.listdir(path) //path为目录 功能相当于在path目录下执行dir命令,返回为list类型 print os.listdir('..') 2: os.path.walk( ...

  3. Python文件操作,with open as追加文本内容实例

    最常见的读写操作 import re with open('/Users/Mr.Long/Desktop/data.txt', 'w') as f: f.write('hello world') 就这 ...

  4. 评论抓取:Python爬取微信在APPStore上的评论内容及星级

    #完整程序如下: import requests import re def getHTMLText(url): try: r = requests.get(url) r.raise_for_stat ...

  5. ie下获取上传文件全路径

    ie下获取上传文件全路径,3.5之后的火狐是没法获取上传文件全路径的 /*获取上传文件路径*/ function getFilePath(obj) { var form = $(this).paren ...

  6. 初学Python——文件操作第二篇

    前言:为什么需要第二篇文件操作?因为第一篇的知识根本不足以支撑基本的需求.下面来一一分析. 一.Python文件操作的特点 首先来类比一下,作为高级编程语言的始祖,C语言如何对文件进行操作? 字符(串 ...

  7. python-模块入门二(模块循环导入,区分python文件的两种用途,模块搜索路径,软件开发的目录规范)

    一.模块的循环导入问题 run.py # import m1 # 第一次导入 m1.py # 错误示范 ''' print('正在导入m1') from m2 import y #第一次导入m2 x= ...

  8. python 全栈开发,Day29(昨日作业讲解,模块搜索路径,编译python文件,包以及包的import和from,软件开发规范)

    一.昨日作业讲解 先来回顾一下昨日的内容 1.os模块 和操作系统交互 工作目录 文件夹 文件 操作系统命令 路径相关的 2.模块 最本质的区别 import会创建一个专属于模块的名字, 所有导入模块 ...

  9. python使用os.listdir和os.walk获得文件的路径

    python使用os.listdir和os.walk获得文件的路径   目录 情况1:在一个目录下面只有文件,没有文件夹,这个时候可以使用os.listdir 情况2:递归的情况,一个目录下面既有目录 ...

随机推荐

  1. linux expect 即exp脚本交互功能【原】

    场景 expect命令用于任何自动化互动的过程. send – 发送字符串到进程 expect – 等待来自进程的特定的字符串 spawn – 启动命令 安装 expect一开始100%不存在, 手动 ...

  2. Java 集合系列03之 ArrayList详细介绍

    ArrayList做为List接口中最常用的实现类,必须掌握. 一.ArrayList简介 与Java中的数组相比ArrayList的容量可以动态增加.它继承与AbstractList,实现了List ...

  3. window.location的方法属性详解

    示例URL:http://b.a.com:88/index.php?name=kang&when=2011#first 属性 含义 值 protocol: 协议 "http:&quo ...

  4. junit测试

    /**ssm框架测试service**/ import com.alibaba.fastjson.JSON; import com.raycloud.waimai.customer.center.po ...

  5. idea integrate project

    idea的integrate project功能,版本控制工具:svn 之前我对这个功能的误解太深了,这里特别记录一下这个功能的使用,首先上图 先看这里的source1和source2,里面填的是sv ...

  6. Mathematica/偏导数/最小二乘法(线性回归)

    a = / a //输出的还是2/123 N[a] //输出的就是小数点 N[a,] //保留三位小数点 Clear[a] Solve[== x^- , x] //结果-3 和 3 Plot[Sin[ ...

  7. TV 丽音(NICAM)功能

    丽音意谓「接近即时的缩扩音频多路广播」 丽音使用数码技术,把电视台发送的两条音频讯号数码化后进行压缩,传送后再在接收机里扩大还原.数码化使用的是14位元 PCM,32千赫采样. 这种广播法可以播出优质 ...

  8. mybatis一对多查询之collection的用法

    首先看一下返回的数据的格式: //获取端子信息List<Map<String, Object>> portList = doneTaskDao.queryTroubleTask ...

  9. 执行大SQL脚本方法

    当我们需要在SQLServer数据库里面执行一个大的文件时,会发现数据库根本无法打开该脚本文件,原因是因为查询分析器只能执行100M以内的文件,所以脚本过大就会造成内存溢出.此时我们可以使用osql工 ...

  10. 高可用Redis(七):Redis持久化

    1.什么是持久化 持久化就是将数据从掉电易失的内存同步到能够永久存储的设备上的过程 2.Redis为什么需要持久化 redis将数据保存在内存中,一旦Redis服务器被关闭,或者运行Redis服务的主 ...