首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在python中使用pathlib获取script / exe目录?

在Python中,可以使用pathlib模块来获取当前脚本或可执行文件的目录。pathlib模块提供了一种面向对象的方式来操作文件路径,使得路径操作更加简洁和易读。

要获取当前脚本/可执行文件的目录,可以按照以下步骤进行操作:

  1. 首先,导入pathlib模块:
代码语言:txt
复制
from pathlib import Path
  1. 使用Path(__file__)创建一个Path对象,__file__表示当前脚本/可执行文件的路径:
代码语言:txt
复制
script_path = Path(__file__)
  1. 使用.resolve()方法将路径解析为绝对路径,以处理可能的符号链接或相对路径:
代码语言:txt
复制
absolute_path = script_path.resolve()
  1. 使用.parent属性获取父目录的Path对象,即当前脚本/可执行文件所在的目录:
代码语言:txt
复制
directory = absolute_path.parent

最终,directory变量将包含当前脚本/可执行文件的目录路径。

使用pathlib模块获取脚本/可执行文件目录的优势在于其简洁的语法和跨平台的兼容性。此外,pathlib模块还提供了许多其他有用的方法和属性,用于处理文件路径和文件系统操作。

在腾讯云中,可以使用腾讯云对象存储(COS)来存储和管理文件。您可以使用腾讯云COS Python SDK来与COS进行交互。以下是腾讯云COS Python SDK的相关信息:

请注意,以上答案仅供参考,具体的实现方式可能因您的实际需求和环境而有所不同。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

附实战代码|告别OS模块,体验Python文件操作新姿势!

更多详细的内容可以参考官方文档: https://docs.python.org/3/library/pathlib.html#methods 一、Path 类的基本使用 下面是获取文件名、获取文件名除后缀的部分...、获取文件后缀、返回一个iterable 包含所有父目录等常用操作示例 from pathlib import Path path = r'D:\python\pycharm2020\program...\pathlib模块的基本使用.py' p = Path(path) print(p.name) # 获取文件名 print(p.stem) # 获取文件名除后缀的部分 print...: pathlib模块的基本使用.py pathlib模块的基本使用 .py D:\python\pycharm2020\program D:\python ...Note 在大型目录树中使用 **模式可能会耗费大量时间 递归遍历该目录下所有文件,获取所有符合pattern的文件,返回一个generator。

64230

python 文件操作新姿势 pathlib模块的详细使用

文章目录 一、pathlib模块下 Path 类的基本使用 二、与os模块用法的对比 三、实战案例 相比常用的 os.path而言,pathlib 对于目录路径的操作更简介也更贴近 Pythonic。...import Path path_1 = Path.cwd() # 获取当前文件路径 path_2 = Path.home() p1 = Path('~/pathlib模块的基本使用.py...\python\EVCapture \python\Evernote_6.21.3.2048.exe \python\Notepad++ \python\pycharm-community-2020.1.3...获取该文件目录下所有.py文件 from pathlib import Path path = r'D:\python\pycharm2020\program' p = Path(path) file_name...用于测试的文件夹如下: md文件数据如下: 需要实现将该目录下所有 md 文件的数据提取出来,并进行清洗,然后写入 csv 文件

60820
  • 附实战代码|告别OS模块,体验Python文件操作新姿势!

    更多详细的内容可以参考官方文档: https://docs.python.org/3/library/pathlib.html#methods 一、Path 类的基本使用 下面是获取文件名、获取文件名除后缀的部分...、获取文件后缀、返回一个iterable 包含所有父目录等常用操作示例 from pathlib import Path path = r'D:\python\pycharm2020\program...\pathlib模块的基本使用.py' p = Path(path) print(p.name) # 获取文件名 print(p.stem) # 获取文件名除后缀的部分 print...: pathlib模块的基本使用.py pathlib模块的基本使用 .py D:\python\pycharm2020\program D:\python ...Note 在大型目录树中使用 **模式可能会耗费大量时间 递归遍历该目录下所有文件,获取所有符合pattern的文件,返回一个generator。

    56520

    Python 自动化指南(繁琐工作自动化)第二版:九、读取和写入文件

    出于这个原因,在 Python 代码总是使用正斜杠通常是个好主意(我将在本章的剩余部分这样做)。pathlib模块将确保它总是在所有操作系统上工作。...请注意,pathlib是在 Python 3.4 引入的,用来替换旧的os.path函数。...Python 标准库模块从 Python 3.6 开始支持它,但是如果您正在使用遗留的 Python 2 版本,我推荐使用pathlib2,它为您提供了 Python 2.7 上的pathlib特性。...注 虽然文件夹是更现代的目录名称,但是请注意当前工作目录(或者仅仅是工作目录)是标准术语,而不是“当前工作文件夹” 您可以使用Path.cwd()函数以字符串值的形式获取当前工作目录,并使用os.chdir...以下示例使用目录而不是当前工作目录获取绝对路径: >>> Path('my/relative/path') WindowsPath('my/relative/path') >>> Path.home(

    3.5K51

    Python - 超好用的第三方库pathlib,快速获取项目中各种路径

    前言 之前曾介绍过Python的os库详细使用方式,具体可看看这篇博文:https://www.cnblogs.com/poloyy/p/12341231.html 博主在学完os库之后,就开始投入使用了...,在python官网这样说 "对于字符串的低级路径操作,您也可以使用该 os.path模块" pathlib和os.path的比较 当需要找多个层级的目录路径时,通过 需要嵌套写法,如我上面的 project_path...,而 pathlib 可以提供链式写法,简洁明了 os.path 只用于处理路径,如果你想在获取到的路径下做一些事情(:创建一个目录),你就需要用 os 模块,而 pathlib 可以一站式搞定,...获取上层、上上层目录 os 获取上上层目录 import os print(os.path.dirname(os.path.dirname(os.getcwd()))) # F:\ 很明显用os的写法就是嵌套式调用...pathlib 获取上上层目录 from pathlib import Path print(Path.cwd().parent.parent) # F:\ 而用pathlib就是链式调用 拼接目录

    1.1K20

    Python操作系统模块大揭秘:从基础到实战的全面指南

    同时,进一步了解与os模块相关的模块,subprocess、shutil等,将有助于提高代码的效率和可维护性。希望本文能够帮助读者更全面地了解和应用os模块,使其在Python开发更加得心应手。...Python 3.8+ 的 pathlib 模块在Python 3.4及以后的版本,引入了pathlib模块,提供了更面向对象的路径操作方式。...文件和目录权限管理在实际应用,我们经常需要处理文件和目录的权限。os模块和pathlib模块提供了一些基本的权限管理方法,同时,使用shutil模块的函数也能有效地处理复制时的权限。...进阶应用: 拓展了os模块的功能,包括环境变量获取、进程管理、递归遍历目录、路径规范化等,以及pathlib模块的使用。...文件和目录的时间戳管理: 探讨了获取和修改文件和目录的时间戳,介绍了pathlib模块的使用,以及如何使用os.utime进行时间戳的修改。

    45820

    Python3.6新特性官方文档中文版

    当用户没有指定版本(通过命令行参数或配置文件)时,py.exe启动器以交互方式使用时,不再以Python 2优先于Python 3。...python.exe和pythonw.exe已标记为长路径敏感(long-path aware),这意味着260字符路径限制可能不再适用。 有关详细信息,请参阅删除MAX_PATH限制。 可以添加....在Python 3.5实现里的一个值得注意的 局限性就在于它不可能使用await和`yield'在同一个函数体。...不幸的是,这种假设局限了文件系统路径表示代方法,已经存在的pathlib,同时也包括python的一些标准库。 为了解决这种情况,定义了一个由os.PathLike表示的新接口。...你可以使用os.fspath(),os.fsdecode()或os.fsencode()显式获取str以及/或bytes来表示一个path-like对象。

    2.1K90

    Python获取目录的方法

    用os.path.expanduser 模块获取目录为了获得用户的主目录,我们可以使用Python的os.path.expanduser 。...它使用内置的密码数据库或pwd 模块来搜索主目录的路径,pwd 模块提供用户的账户详细信息,登录名和密码。这个模块可以在所有平台上工作,比如Windows和Linux。...我们还可以使用os.path.join() 函数连接两个路径,比如将主目录路径与另一个路径连接起来。我们可以在os.path.join() 函数传递我们想要连接的路径。...用pathlib获取目录我们也可以使用pathlib 库,用它的home() 函数来获得主目录的路径。例如,让我们使用pathlib 库来查找主目录。请看下面的代码。...我们还可以使用pathlib 库的PureWindowsPath().joinPath() 函数连接两个或多个路径。

    31420

    小说python的路径操作

    在日常编码,常常会有这些操作 在当前目录或用户目录下新建一个配置文件, 获取一个文件的路径或上级目录 这些都涉及路径操作 相信大家都使用过`os.path`来处理过,这个痛苦我想"谁用谁知道吧" 今天的主角...os.path作为string对象需要进行众多繁琐的操作, 它才真正是for humans python3.4+版本标准库支持 python2(2.6/2.7)版本作为第三方库 官方地址 https:/...os.path获取上级目录 pathlib实现 import pathlib pwd = pathlib.Path.cwd() pwd.parent pwd.parent.parent ?...pathlib获取上级目录 2 用户目录/当前目录 import pathlib pathlib.Path.home() pathlib.Path.cwd() 对于一个跨平台的程序,如果需要在用户目录...创建路径 file_path.name # 获取文件名 file_path.suffix # 获取文件后缀 file_path.anchor # 获取顶级目录 file_path.root

    83720

    pathlib使用,用于替换os包

    Pythonpathlib模块很好地展示了面向对象编程的特点,主要通过以下几个方面来体现:1....类和对象的使用pathlib模块,核心类是Path(对于具体路径操作)和PurePath(对于纯路径操作,不涉及I/O)。这些类允许你创建代表文件系统路径的对象。...使用pathlib,你可以这样做:from pathlib import Path# 创建一个目录directory = Path('my_directory')directory.mkdir(parents...在上述代码,你不需要关心如何实际创建目录或写入文件。pathlib模块为你处理了这些细节。3. 继承和多态pathlib模块的类结构体现了继承和多态的概念。...pdf_path.stem 的含义在 Python pathlib 模块提供了一种面向对象的方式来处理文件和目录路径。

    7010

    pathlibPython面向对象的文件路径处理

    其中Pathlib库有2个非常关键的类名:PurePosixPath,PureWindowsPath。它们可以在任意操作系统上实例化和使用,因为它们只处理文件名与目录名。...既然这里,我们可以通过一层层的分解得到各个文件的名称,那么PurePosixPath类也肯定有层级给文件名分类,比如像获取某个文件的父目录,可以通过如下代码做到: import pathlib one...suffix:用于获取文件名的后缀 stem:用于获取文件名不要后缀 home()与cwd() home():直接生成系统用户目录的路径 cwd():用于获取项目的绝对路径 示例如下: import pathlib...比如上面的目录,我们只需要txt后缀的文本怎么办?...我们经常使用的桌面图标就是应用程序的快捷方式,真正的exe运行程序其实在安装目录,而通过Pathlib库我们也可以直接创建文件的快捷打开方式。

    36540

    把这个灭霸关进电脑里!一键随机消灭硬盘的一半文件!

    于是我用 Python 实现了这个脚本,并打包成了 exe 程序分享给大家。(后台回复“灭霸“获取下载链接。)...程序使用起来也十分危险简单: 1、下载 exe 程序,移动到你需要清理的文件夹下(请不要放在盘符根目录!!!)。程序分两种,一是 Thanos.exe,直接彻底删除文件和文件夹,不可恢复!...这些函数来自很多不同的库,比如 os,os.path,shutil 和 pathlib,以后我们接触到了再详细介绍。...这次的代码逻辑十分简单,一共分为三步: 1、使用 os.listdir() 方法获取指定目录下的文件及文件夹列表; 2、使用 random.sample() 方法从文件列表获取指定个数的子列表; 3、...使用 os.remove()、shutil.rmtree() 及 send2trash.send2trash() 方法遍历删除列表的文件,区别在于,os.remove()、shutil.rmtree(

    1.3K40

    Python文件处理实用指南

    二、获取目录列表 基础的目录列表获取函数 通过os模块 os.listdir(目录名):其接受一个目录名作为参数,返回一个列表,列表包含目录下的所有文件名和子目录名; os.scandir(目录名):...使用os.listdir()获取 ? 使用os.scandir()获取 ? 使用pathlib获取 ? 三、获取文件属性 Python中有丰富的函数和方法用来获取文件的信息。...通过pathlib模块 pathlib.Path.iterdir(),其返回值的每一个对象都有一个stat()方法,和os.scandir()一样。 实例演示 使用os.stat() ?...使用os.scandir() ? 四、创建目录 创建目录依然可以借助os模块和pathlib模块。...七、遍历目录树和处理文件 os.walk(目录路径,topdown=True),生成目录的文件名,方式是按上->下或下->上顺序浏览目录树。

    1.5K30

    Python 进阶指南(编程轻松进阶):二、环境配置和命令行

    您可以使用pathlib模块和/操作符,而不是用两种方式编写代码来使您的 Python 脚本跨平台兼容。 导入pathlib的典型方式是使用语句from pathlib import Path。...因为Path类是pathlib使用最频繁的类,这可以让你输入Path,而不是pathlib.Path。您可以将文件夹或文件名的字符串传递给Path()来创建该文件夹或文件名的Path对象。...在 Mac 上,主目录在/Users。 在 Linux 上,主目录通常在/home。 主目录的文件您基本上肯定有读写权限,因此这是存储和使用您的 Python 脚本的理想位置。...os.getcwd()函数是以前获取字符串形式的 CWD 的方法。...您可以使用文本编辑器(记事本)来创建这些文件。

    6.3K60
    领券