[Python] Jak zapisać coś do pliku?

Dzień dobry!

Czy użytkownik który wykonuje skrypt ma prawo do zapisu w tamtym katalogu? Uruchom skrypt z prawami roota i sprawdź co się stanie.

Oczywiście wszystko robię z poziomu roota. Zadałem to pytanie ponieważ CRON również nie chce uruchamiać skryptu i najprawdopodobniej to jest tego przyczyną.

Nie znam się kompletnie na Linuksie :slight_smile:

Wiem jednak, że w Windowsie należy w takim przypadku katalog w którym uruchamiamy skrypt uczynić katalogiem bieżącym.

W Bashu np. takim poleceniem jest polecenie: CD

Może jednak to pomoże, a jeśli nie to przepraszam.

Tu przykłady użycia tego polecenia: http://kik.pcz.pl/soold/mainpage/subject6/chapt3.htm

Szkopuł w tym, że skrypt się uruchamia (wiem, bo zwraca printa przykładowo) ale nie zapisuje do pliku.

Dziwne u mnie z roota lub z sudo działa. Tak dla pewności wiesz, że otwierasz plik w tym samym katalogu w którym znajduje się skrypt? W Cronie najlepiej odnieś się do pliku po ścieżce bezwzględnej.

Po prostu twój skrypt tworzy zawsze plik w katalogu bieżącym (z którego go uruchamiasz) dlatego jeżeli jesteś w katalogu /home i wykonasz skrypt znajdujący się w katalogu np. python  /home/katalog1/skrypt.py to plik zostanie utworzony w katalogu /home więc jeżeli chcesz aby plik był tworzony w danym katalogu np. /var/www/html/ to musisz najpierw przejść do tego katalogu i wykonać skrypt lub zdefiniować tę ścieżkę w skrypcie.

Nie wierze, że to było takie proste. Dziękuje za pomoc!!