Почему текущий каталог не меняется после выполнения скрипта ? [duplicate]

Сценарий выполняется из оболочки как ./ oximeter .

Сценарий оксиметр содержит 5 команд:

python3 ~/Documents/oximeter/3211ipod.py
ls -l
pwd
cd ~/Documents/oximeter/
pwd

Сценарий python работает, как ожидалось. Я хочу, чтобы сценарий изменил каталог, как показано в команде №4. Когда управление возвращается пользователю, каталог остается неизменным.

Второй pwd возвращает желаемый каталог, однако, когда управление возвращается пользователю, pwd указывает, что каталог не является ~ / Documents / oximeter .

Почему это так и существует ли «более сильная» команда, которая изменяет целевой каталог для пользователя?

Это в Ubuntu 20.04.

1
задан 14 June 2020 в 21:12

1 ответ

потому что вы только говорите python3 запустить .py скрипт из директории и вам придется cd туда сначала

(например, в скрипте :) cd $(dirname ~/myfolder/myscript. py) ;python3 myscript.py


вы можете получить местоположение вашего скрипта в python с помощью:

print('abspath:     ', os.path.abspath(__file__))
print('abs dirname: ', os.path.dirname(os.path.abspath(__file__)))

https://www.tutorialspoint.com/python3/os_getcwd.htm

-1
ответ дан 19 June 2020 в 21:24

Другие вопросы по тегам:

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