Два текущих ответа отражают неоднозначность вашего вопроса.
Когда вы запустите python /path/to/script.py
, где вы хотите ваш временный файл? В текущем каталоге (./tempfile.txt
) или в /path/to/tempfile.txt
?
Если первое, вы можете просто использовать относительный путь (или, для странных и непонятных целей, получить абсолютный путь, эквивалентный текущему каталогу, как предлагает @Desintegr, с os.getcwd
).
Если последнее, вы можете точно узнать, как скрипт вызывался с sys.argv[0]
, как предлагает @Jonathan, и манипулировать этим путем с помощью функций в os.path
(конечно, вы также можете применить эти функции к тому, что os.getcwd
возвращает, если применяется первый случай), или работает с os.path.dirname(__file__)
и т.п. (последний необходим, если вы хотите, чтобы это последнее поведение также выполнялось, когда скрипт импортируется как модуль, а не только когда он запускается как основной скрипт).