标签: basename

使用Python获取当前脚本的名称

我正在尝试获取当前正在运行的Python脚本的名称.

例如,我有一个调用的脚本foo.py,我想在其中执行类似的操作:

print Scriptname
Run Code Online (Sandbox Code Playgroud)

得到:foo.py.

python scripting basename

344
推荐指数
13
解决办法
26万
查看次数

如何通过管道查找路径的基本名称

这不起作用:

find "$all_locks" -mindepth 1 -maxdepth 1 -type d | basename
Run Code Online (Sandbox Code Playgroud)

显然 basename 无法从 stdin 读取 - 在任何情况下 basename 都需要至少一个参数。

bash shell find basename

5
推荐指数
3
解决办法
5427
查看次数

将基本名称的输出通过管道传输到字符串替换

我需要作为 bash 脚本的参数给出的文件的基本名称。基本名称应去掉其文件扩展名。让我们假设$1 = "/somefolder/andanotherfolder/myfile.txt",期望的输出是"myfile"

当前的尝试创建了一个我想避免的中间变量:

BASE=$(basename "$1")
NOEXT="${BASE%.*}"
Run Code Online (Sandbox Code Playgroud)

我尝试将其作为单行代码,通过管道输出 basename 的输出。但是,我不知道如何将标准输出传输到字符串替换。

编辑:这需要适用于可能具有不同长度的多个文件扩展名,因此字符串替换尝试如上所述。

bash file-extension pipe string-substitution basename

3
推荐指数
1
解决办法
998
查看次数

没有为类型“Path”定义方法“basename”。(文档)

这是您将文件上传到 firestore firebase 时出现的错误。所以我解决了这个错误。在“答案”部分查看下面的答案。谢谢

firebase flutter google-cloud-firestore basename

3
推荐指数
1
解决办法
1843
查看次数

按最低目录(结束子字符串)对目录路径字符串数组进行排序

我想按年份对这个数组进行排序:

Array
(
    [0] => data/pictures/alice/1980
    [1] => data/pictures/alice/1985
    [2] => data/pictures/bob/1981
    [3] => data/pictures/bob/1985
    [4] => data/pictures/bob/1987
    [5] => data/pictures/bob/1989
)
Run Code Online (Sandbox Code Playgroud)

预期结果:

Array
(
    [0] => data/pictures/alice/1980
    [1] => data/pictures/bob/1981
    [2] => data/pictures/alice/1985
    [3] => data/pictures/bob/1985
    [4] => data/pictures/bob/1987
    [5] => data/pictures/bob/1989
)
Run Code Online (Sandbox Code Playgroud)

我已经尝试过不同的排序功能但没有成功。

例子:

asort($paths, SORT_STRING | SORT_FLAG_CASE);

sort($path, SORT_NUMERIC);
Run Code Online (Sandbox Code Playgroud)

php arrays sorting path basename

1
推荐指数
1
解决办法
912
查看次数

从带有空格的路径中获取文件夹的名称

我是 bash 的新手,我想知道如何从路径打印最后一个文件夹名称。

mypath="/Users/ckull/Desktop/Winchester stuff/a b c/some other folder/"
dir="$(basename $mypath)"
echo "looking in $dir"
Run Code Online (Sandbox Code Playgroud)

其中dir是路径中的最后一个目录。它应该打印为

some other folder
Run Code Online (Sandbox Code Playgroud)

相反,我得到:

Winchester
stuff
a
b
c
some
other
folder
Run Code Online (Sandbox Code Playgroud)

我知道空格会导致问题;) 我是否需要将结果通过管道传输到字符串然后替换换行符?或者也许有更好的方法......

directory bash path basename

0
推荐指数
1
解决办法
123
查看次数