Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
marcin0x02
Piegowaty Guziec
Posty: 19 Rejestracja: 22 lis 2008, 15:51
Płeć: Mężczyzna
Wersja Ubuntu: 10.10
Środowisko graficzne: GNOME
Architektura: x86_64
Post
autor: marcin0x02 » 05 mar 2013, 20:17
Witam,
Mam problem z uruchomieniem skryptu python w konsoli przez wydanie polecenia:
otrzymuje błąd:
Skrypt uruchamia się bez błędnie przez:
. W pierwszej linii skryptu mam:
Jest to skrypt to parsowania xml, inne skrypty skrypty mogę uruchamiać bez problemu przez ./nazwa_pliku. Co jest nie tak?
mario_7
Administrator
Posty: 8659 Rejestracja: 30 sie 2006, 13:11
Płeć: Mężczyzna
Wersja Ubuntu: 20.04
Środowisko graficzne: GNOME
Architektura: x86_64
Post
autor: mario_7 » 05 mar 2013, 22:48
Uprawnienia. Zapewne nie nadałeś prawa do wykonywania pliku - stąd taki błąd.
marcin0x02
Piegowaty Guziec
Posty: 19 Rejestracja: 22 lis 2008, 15:51
Płeć: Mężczyzna
Wersja Ubuntu: 10.10
Środowisko graficzne: GNOME
Architektura: x86_64
Post
autor: marcin0x02 » 05 mar 2013, 23:22
Nadałem uprawnienia do wykonywania.
ethanak
Wygnańcy
Posty: 3054 Rejestracja: 04 gru 2007, 13:19
Płeć: Mężczyzna
Wersja Ubuntu: 12.04
Środowisko graficzne: GNOME
Architektura: x86
Lokalizacja: Bielsko-Biała
Kontakt:
Post
autor: ethanak » 06 mar 2013, 10:00
Zobacz czy nie masz literówki w shebangu - ostatnio ktoś miał identyczny problem.
marcin0x02
Piegowaty Guziec
Posty: 19 Rejestracja: 22 lis 2008, 15:51
Płeć: Mężczyzna
Wersja Ubuntu: 10.10
Środowisko graficzne: GNOME
Architektura: x86_64
Post
autor: marcin0x02 » 06 mar 2013, 19:35
Literówki też nie mam.
mario_7
Administrator
Posty: 8659 Rejestracja: 30 sie 2006, 13:11
Płeć: Mężczyzna
Wersja Ubuntu: 20.04
Środowisko graficzne: GNOME
Architektura: x86_64
Post
autor: mario_7 » 06 mar 2013, 21:12
Fakt, przy braku uprawnień pojawia się błąd typu "permission denied".
A polecenie:
uruchamia interpreter pythona?
Można też spróbować podać ścieżkę bezpośrednią do binarki:
ethanak
Wygnańcy
Posty: 3054 Rejestracja: 04 gru 2007, 13:19
Płeć: Mężczyzna
Wersja Ubuntu: 12.04
Środowisko graficzne: GNOME
Architektura: x86
Lokalizacja: Bielsko-Biała
Kontakt:
Post
autor: ethanak » 07 mar 2013, 07:06
W takim razie jak nie ma błędu to pewnie czarna magia - zabij czarnego koguta i tak dalej...
Chociaż ja bym na Twoim miejscu pokazał owo niewątpliwe arcydzieło w Pythonie kunsztownie spisane - być może chochlik jakowyś cnym programistym przeszkodzić chcąc literkę jakowąś zamienił...
Chyba że się wstydzisz.
marcin0x02
Piegowaty Guziec
Posty: 19 Rejestracja: 22 lis 2008, 15:51
Płeć: Mężczyzna
Wersja Ubuntu: 10.10
Środowisko graficzne: GNOME
Architektura: x86_64
Post
autor: marcin0x02 » 07 mar 2013, 18:33
Kod: Zaznacz cały
#!/usr/bin/env python
from xml.dom.minidom import parse
import xml.dom.minidom
def printLibrary(library):
books = myLibrary.getElementsByTagName("book")
for book in books:
print "*****Ksiazka*****"
print "Tytul: %s" % book.getElementsByTagName("title")[0].childNodes[0].data
for author in book.getElementsByTagName("author"):
print "Autor: %s" % author.childNodes[0].data
# Otworz plik XML i dokonaj jego konwersji do DOM.
myDoc = parse('biblioteczka.xml')
myLibrary = myDoc.getElementsByTagName("library")[0]
# Pobierz wszystkie elementy book.
books = myLibrary.getElementsByTagName("book")
# Wyswietl tytuly i autorow ksiazek.
printLibrary(myLibrary)
# Wstaw nowa ksizke.
newBook = myDoc.createElement("book")
newBookTitle = myDoc.createElement("title")
titleText = myDoc.createTextNode("Python. Receptury")
newBookTitle.appendChild(titleText)
newBook.appendChild(newBookTitle)
newBookAuthor = myDoc.createElement("author")
authorName = myDoc.createTextNode("Alex Martelli i inni")
newBookAuthor.appendChild(authorName)
newBook.appendChild(newBookAuthor)
myLibrary.appendChild(newBook)
print "Dodano nowa ksizke!"
printLibrary(myLibrary)
# Usun ksiazke.
# Znajdz ksiazke.
for book in myLibrary.getElementsByTagName("book"):
for author in book.getElementsByTagName("author"):
if author.childNodes[0].data.find("Pratchett") != -1:
removedBook= myLibrary.removeChild(book)
removedBook.unlink()
print "Usunieto ksizke."
printLibrary(myLibrary)
# Zapisz dane do pliku biblioteczki.
lib = open("biblioteczka.xml", 'w')
lib.write(myDoc.toprettyxml(" "))
lib.close()
beluosus
Zakręcona Traszka
Posty: 695 Rejestracja: 01 paź 2006, 15:32
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Xfce
Architektura: x86
Kontakt:
Post
autor: beluosus » 08 mar 2013, 00:36
Na pewno jesteś w katalogu ze skryptem? Masz zainstalowanego pythona? Jeśli tak to przekopiuj takie polecenia do konsoli i napisz co Ci wyświetliło:
Kod: Zaznacz cały
echo -e '#!/usr/bin/env python\nprint "test"' > tescik.py
chmod 777 tescik.py
ls -l tescik.py
./tescik.py
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 10 gości