Есть ли разница между:разница между __FILE__ и sys.argv [0]
__file__
и
sys.argv[0]
Потому как, кажется, делают то же самое: они держат имя скрипта.
Если нет разницы, то почему именно __file__
используется практически во всех местах, в то время как я никогда не видел sys.argv[0]
.
Это объясняет это. – user225312
sys.argv [0] может даже быть именем модуля, а не именем файла, если ваш скрипт был запущен с помощью ключа '-m', или имя каталога или zipfile, если вы используете входящее в комплект исполнение. – ncoghlan
Не \ __ файл \ __ должен быть закрытым и, следовательно, не запрашиваться напрямую? – Tiago