pathname - 为什么 File::Spec 在子目录中的文件上删除“./”?
问题描述
File::Spec
是“可移植地对文件名执行操作”的核心模块。这种行为对我来说很有意义,
# returns ./foo
File::Spec->catfile(".", "foo");
然而,这让我大吃一惊。
# returns foo/bar
File::Spec->catfile(File::Spec->catfile(".", "foo"), "bar");
File::Spec->catfile("./foo", "bar");
对于一个应该标准化这些东西的图书馆,为什么我的./
走了?这种行为有原因吗?
很奇怪,这个回来了,
CP-JobApp/t/lib/Testing.pm
CP-JobApp/t/pod.t
CP-JobApp/t/find.t
./h
./problem1.pl
后处理模块返回的文件名是否正常?
解决方案
File::Spec::Unix 规范了路径的目录部分。
为什么它不规范整个路径(以便catfile('.', 'file')
产生file
)?不知道。这对我来说似乎是一个疏忽。随时提交错误报告。
推荐阅读
- unit-testing - 更改 swi-prolog “true” 和 “false” 中的默认输出值以进行谓词评估
- google-cloud-platform - 无法作为服务帐户部署到谷歌云运行
- html - 让顶部和底部边距保持在 mat-grid-tile 内?
- python - 查找多个对象的坐标
- mysql - 使用 MySQL 启动 docker 容器时 init sql 的语法错误
- javascript - 使用 vh/vw vpx 和常规 PX/% 有什么区别?
- ios - 为什么在 iOS 13 中模态弹出窗口中的子视图未对齐/移位?
- next.js - next.js 仅在服务器端脚本中放置文件的位置
- python - 为什么在 openCV 中删除 waitKey() 不起作用?
- python - 从字典生成python类