Это зависит от того, как вы запускаете исполняемый файл. По подсказке
cd $HOME/Desktop
python3 ./myscript.py
запускает скрипт в каталоге Desktop, где, по-видимому, вы хотите его запустить.
cd $HOME
python3 ./Desktop/myscript.py
запускает скрипт в вашем домашнем каталоге, так как именно там вы в последний раз cd
: ed..
(Если у скрипта есть правильные разрешения, не нужно явно указывать python3
перед именем скрипта - строки шебанга, которую вы там поместите, должно быть достаточно).
Если вы запускаете сценарий из IDE, такой как IDLE, pyCharm или VS Code, IDE может работать в том каталоге, который был текущим, когда вы его запустили, или в вашем домашнем каталоге просто потому, что именно там находятся графические приложения, с которых вы запускаете системное меню, как правило, работает. Некоторые приложения позволяют изменять рабочий каталог для проекта, файла или с помощью предпочтения приложения.
Если сценарий должен работать в определенном каталоге для правильной работы, возможно, подумайте о том, чтобы разрешить пользователю передавать каталог, в котором он хочет работать, в качестве параметра.
Кроме того, нет необходимости явно вызывать os.getcwd()
; просто Logs
относится к Logs
в текущем каталоге - это очень буквально означает "текущий каталог".