问题标签 [pathlib]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 使用父目录步骤创建相对路径
以防万一我错过了什么,在我为问题实施自己的解决方案之前。
在我们的构建系统中,我总是必须使用相对路径来保持所有项目的可移动性。因此,构建脚本应该生成文件的相对路径。
然而,python 库中似乎没有可以处理父路径步骤的函数,如下例所示:
我想获得file_b
相对于的路径dir_a
。因此,如果我从 开始dir_a
,相对路径将指向file_b
。
最好的结果是:
举这个稍微复杂一点的例子:
最好的结果是:
使用这些方法的两个示例.relative_to
都不起作用并引发异常:
该os.path.relpath
方法按预期工作,但返回一个字符串而不是一个Path
对象:
所以我想知道我是否在这里遗漏了什么......
如何使用 Path 对象获取与父目录的相对路径?
为什么对象的relative_to
实现Path
不起作用?
python - 将 WindowsPath 转换为字符串
我收到错误
我认为这是因为当我需要 glob 一个字符串时,我试图 glob 一个 Windows 文件路径。有没有一种方法可以将 WindowsPath 转换为字符串,以便可以将所有文件合并到一个列表中?
python - pathlib iterdir() 的问题
对于我的项目,我从文本文件中读取了一行输入,内容为“DC:/Test/Project1”。D 表示打印目录中的文件,忽略子目录。“R”表示打印目录和每个子目录中的文件。具体目录跟在空格后面的字母后面。该目录包含一些 python 文件。
当我运行此代码时,我收到错误消息
以前,这个完全相同的代码更早地工作,它也可以在其他计算机上工作。我尝试重新安装 pathlib 但没有成功。我在 python 3.6.2 上。
python - Python Path.rglob 在遇到未经许可的文件夹时因网络错误而失败
我是 Python 新手,一直在使用这个网站作为参考……谢谢你所做的一切,我学到了很多东西。第一个问题:
我正在使用 Path.rglob() 运行基本的递归文件搜索。当它遇到一个无权访问的文件夹时,我遇到了错误。我在 Windows 上运行 Python 3.7 并连接到网络驱动器上的 Windows 共享。
这是我的代码:
它运行良好,直到我遇到我无权访问的文件夹,然后出错:
我搜索并发现似乎已修复的 Pathlib 的以下问题,但是在我的情况下错误是不同的,因为它指向“意外的网络错误”而不是权限。
https://bugs.python.org/issue24120
我确认这确实是一个权限错误,作为我登录的用户,我无权访问该回收文件夹。我编辑了该文件夹的权限并授予自己访问权限,之后代码运行良好。
我知道我可以使用 oswalk,因为它忽略了这些……但我认为给出了上面链接到的错误修复,path.glob 也应该如此,但它没有。此外,使用 path.rglob() 非常流畅,只需一行代码并且速度很快(并不是说 oswalk 不会那么快)。
任何帮助表示赞赏。
python - 使用 Pathlib 搜索特定文件夹
我正在尝试找到一个包含一堆适合文件的特定文件夹。我目前的代码是
因此,如果 pathlib 找到了错误的文件,用户会这样说,并且假设代码将通过并再次搜索,直到找到另一个包含适合文件夹的文件。我陷入了无限循环,因为它只走一条路。
python - Python:将目录 c:\FLASH 的内容复制到所有连接的 USB 闪存驱动器
我需要将一些文档、文件夹和文件从本地驱动器上的一个目录复制到所有连接的 USB 闪存驱动器。
当目标也是文件夹时,一切正常,但如果目标是 USB 驱动器根目录,那么我总是会收到错误消息:
错误:[WinError 5] 拒绝访问:'E:\\'
我认为问题出在第二个反斜杠上。
python-3.x - 无法使用 Python pathlib 在特定文件夹中创建新目录
我已经在互联网和文档上研究了大约两天,现在试图弄清楚这一点。我正在尝试创建一个脚本,该脚本在运行时会提示输入一个字符串,然后使用该字符串在特定目录中创建一个文件夹。我已经对其进行了很多更改,遇到了许多不同的错误,当我没有收到错误时,什么也没有发生,或者文件夹是在我想要的目录之外创建的。
我终于转向堆栈溢出;请指导手会非常有帮助。
python - 正则表达式 Windows 路径不完整转义 '\U'
我有一个可以在 windows 和 linux 系统上运行的程序。我使用的一个函数切断了路径的一些根,并给我留下了相对路径。
它在Linux下工作,但在Windows下我得到
不完全转义 \U
windows 路径看起来像C:\Users\...
.
处理这个问题的最佳方法是什么?换成 可以\
吗\\
?
python - os.open 不创建具有给定权限模式的文件
当尝试使用 os.open 以 777 模式打开文件时(意味着允许一切) -
它在没有写权限的情况下创建文件,如下所示 -
当尝试使用 chmod("/tmp/lol", 0o777) 时,文件获得了正确的权限:
为什么 os.open 不能按预期工作?
有没有办法以 777 模式创建文件(如果文件存在,它只会更改权限..(因为我尝试了 pathlib.Path.touch))?
python - 如何替换 Python pathlib.Path 中的子字符串?
有没有一种简单的方法可以pathlib.Path
在 Python 中替换对象中的子字符串?pathlib模块在很多方面都比将路径存储为 astr
和 usingos.path
等glob.glob
(内置于pathlib
. 但是我经常使用遵循模式的文件,并且经常替换路径中的子字符串来访问其他文件:
以前我可以这样做:
pathlib
可以用方法替换文件扩展名with_suffix()
,但只接受扩展名作为有效的后缀。解决方法是:
转换为字符串进行替换并重新转换为Path
对象似乎很费力。假设我从来没有 的字符串形式的副本img_file_path
,并且必须根据需要转换类型。