[Python] Jak zapisać coś do pliku?


(Roznow) #1

Dzień dobry!


(set4812) #2

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


(Roznow) #3

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ą.


(floyd) #4

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


(Roznow) #5

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


(mikolaj_s) #6

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.


(Roznow) #7

(ShadowMan_) #8

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.


(Roznow) #9

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