Python stdin文件名

发布于 2021-01-29 14:11:21

我试图获取在命令行中给出的文件名。例如:

python3 ritwc.py <DarkAndStormyNight.txt

我正在尝试获取DarkAndStormyNight.txt

当我尝试fileinput.filename()时,我得到了与sys.stdin相同的信息。这可能吗?我没有在寻找返回当前脚本名称的sys.argv
[0]。

谢谢!

关注者
0
被浏览
101
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    通常 ,不可能以与平台无关的方式获取文件名。其他答案涵盖了明智的选择,例如在命令行上传递名称。

    在Linux和某些相关系统上,可以通过以下技巧获得文件名:

    import os
    print(os.readlink('/proc/self/fd/0'))
    

    /proc/是Linux上的特殊文件系统,它提供有关计算机上进程的信息。self表示当前正在运行的进程(打开文件的进程)。fd是一个目录,其中包含该过程中每个打开的文件描述符的符号链接。0是的文件描述符号stdin



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看