在python 3.3中显示除当前正在执行/正在运行的文件

时间:2014-02-21 17:49:56

标签: python list file python-3.x ignore

目前我的文件能够列出目录的所有文件。但是,我希望代码忽略当前正在从列表中运行/正在执行的文件。

如果有人知道我需要添加现有代码的代码或方法,那么

1 个答案:

答案 0 :(得分:1)

当前文件的名称是在特殊变量__file__中提供给您的,因此您的列表代码可以将每个文件名与该文件名进行比较并省略它。

例如:

import os

filename = os.path.basename(__file__)
for f in os.listdir('/home/you/scripts'):
    if f != filename:
        print(f)

因为__file__给出了命令行中指定的脚本名称,所以它可能包含目录元素,例如: scripts/foo.py,因此os.path.basename仅用于获取文件部分foo.py