尝试将此Perl代码转换为Python:
$path = shift;
$path =~ /.*\/(.*)/;
$filename = $1;
if (0 == length($filename)) {
$filename = $path; }
代码生成路径的文件名组件。例如,它为$filename = "bar.txt";
提供了$path = foo/bar.txt
。有问题的路径是传递给脚本的第一个参数。
我对Perl一无所知,上周刚刚学习了Python,因此我遇到了问题。我的尝试是:
path = os.path.basename(sys.path.pop(0))
fil = sys.argv.pop()
if (0 == len(fil)):
fil = path
答案 0 :(得分:1)
您使用os.path.basename
是正确的。唯一的问题是命令行args来自sys.argv
。
import sys, os
path = sys.argv[1]
fn = os.path.basename(path)
print(fn)