确定没有扩展名的文件的文件类型

2024-04-29 05:42:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用pygmentize突出显示一些没有扩展名的脚本文件(python/bash/…)。但是pygmentize要求我使用-l指定lexer。它不会自动从内容中识别文件类型。在

我手头有以下几种选择,但现在都不管用:

  1. 使用file -b --mime-type。但是这个命令输出x-python和{},而不是python和{},我不知道规则
  2. 使用vim -e -c 'echo &ft|q' the_file。对于任何有或没有文件扩展名的文件,vim都有一种猜测文件类型的机制。但它不起作用。因为输出到vim窗口,并在q之后消失。在

我能做什么?在


@Samborski的方法在正常情况下可以正常工作,但是在python subprocess.check_output中却不能工作,因为pts没有被分配。如果使用nvim,可以使用以下更直接的方法:

HOME=_ nvim --headless -es file <<EOF
call writefile([&ft], "/dev/stdout")
EOF

Tags: 文件方法脚本bash内容vimfile文件类型