Как получить полный путь к каталогу текущего файла в Python?

Попробуйте следующее: jdbc:oracle:thin:@oracle.hostserver2.mydomain.ca:1522/ABCD

Изменить: за комментарий ниже это действительно правильно: jdbc:oracle:thin:@//oracle.hostserver2.mydomain.ca:1522/ABCD (обратите внимание на //)

Вот ссылка к полезной статье

615
задан Ciro Santilli 新疆改造中心996ICU六四事件 18 December 2014 в 21:58
поделиться

3 ответа

Если вы имеете в виду каталог выполняемого скрипта:

import os
os.path.dirname(os.path.abspath(__file__))

Если вы имеете в виду текущий рабочий каталог:

import os
os.getcwd()

Обратите внимание, что до и после file стоит два подчеркивания, а не одно.

Также обратите внимание, что если вы работаете в интерактивном режиме или загрузили код не из файла (например, из базы данных или интернет-ресурса), то __file__ может быть не установлен, поскольку понятия "текущий файл" не существует. В приведенном выше ответе предполагается наиболее распространенный сценарий запуска сценария python, находящегося в файле.

1399
ответ дан 22 November 2019 в 21:44
поделиться

Я нашел, что следующие команды все возвратят полный путь родительского каталога сценария Python 3.6.

Сценарий Python 3.6:

#!/usr/bin/env python3.6
# -*- coding: utf-8 -*-

from pathlib import Path

#Get the absolute path of a Python3.6 script
dir1 = Path().resolve()  #Make the path absolute, resolving any symlinks.
dir2 = Path().absolute() #See @RonKalian answer 
dir3 = Path(__file__).parent.absolute() #See @Arminius answer 

print(f'dir1={dir1}\ndir2={dir2}\ndir3={dir3}')

ссылки Объяснения: .resolve () , .absolute () , Путь ( файл ) .parent () .absolute ()

0
ответ дан 22 November 2019 в 21:44
поделиться
import os
print os.path.dirname(__file__)
9
ответ дан 22 November 2019 в 21:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: