Sida 2 av 3

Re: Python - hjälp att omvandla en variabel till integer

Postat: 5 november 2017, 13:04:53
av Nerre
Såna fel är vanskliga, de flesta som hållt på med script under *ix har antagligen nån gång i sitt liv skapat ett script med namnet "test" och försökt köra det med kommandot "test".

Re: Python - hjälp att omvandla en variabel till integer

Postat: 5 november 2017, 14:28:55
av sodjan
Och varför fungerar inte det? Betyder "test" något speciellt?

Re: Python - hjälp att omvandla en variabel till integer

Postat: 5 november 2017, 14:49:00
av Nerre
Ja, det finns redan ett kommando som heter test, och ofta har man inte "." (current directory) i sökvägen, så skriver man enbart "test" så körs testkommandot. Ska man testa sitt script måste man skriva hela sökvägen (t.ex. "./test").

Re: Python - hjälp att omvandla en variabel till integer

Postat: 5 november 2017, 15:22:48
av Mmm
Aha, det var ju just random.py som jag döpt mitt script till.
Bytte namn och nu funkar det. Tusen tack!

Re: Python - hjälp att omvandla en variabel till integer

Postat: 5 november 2017, 15:54:30
av sodjan
Ja, jag fick samma/liknande fel i Python 2.7.

Här är en annan sak som man lätt kan råka ut för...

Jag skapade först "random.py" för att testa/verifiera det du såg.
Det kraschade så klart med samma fel. Sedan döpte jag om random.py
till random2.py och provade igen, och fick samma fel. Hm... Men det
var ju det att då jag körde random.p så skapades random.pyc (den
"kompilerade" versionen), och denna hittade "import" även då random.py
inte fanns längre. Efter att tagit bort .pyc filen så fungerade det som det skulle...

> Ja, det finns redan ett kommando som heter test...

Men det måste väl gälla för alla inbyggda kommandon, att man inte
kan skapa ett skript med samma namn. Eller är det unikt för just "test"?

Re: Python - hjälp att omvandla en variabel till integer

Postat: 5 november 2017, 16:08:28
av lillahuset
Varför skulle du inte kunna skapa skript med samma namn som inbyggda kommandon?

Re: Python - hjälp att omvandla en variabel till integer

Postat: 5 november 2017, 16:12:31
av sodjan
Jag antar att det är Nerre som du frågar...

Re: Python - hjälp att omvandla en variabel till integer

Postat: 5 november 2017, 16:59:28
av lillahuset
Nej dig.
Men det måste väl gälla för alla inbyggda kommandon, att man inte
kan skapa ett skript med samma namn. Eller är det unikt för just "test"?
Nerre tog nog bara "test" som exempel.

Re: Python - hjälp att omvandla en variabel till integer

Postat: 5 november 2017, 22:00:09
av sodjan
> Nej dig.

Men det var Nerre som sa att det inte gick (inte utan en liten
workaround då man anropar scriptet). Så varför fråga mig?

Men jag förstår problemet eftersom man kör script utan att
ange att det är just det som man vill göra. Om man angav
något tecken före namnet så hade det ju varit klart att det
är ett script som ska köras...

Re: Python - hjälp att omvandla en variabel till integer

Postat: 5 november 2017, 22:38:10
av lillahuset
Man kan lägga scriptet i en mapp som finns med i sökvägen alternativt lägga till mappen med scriptet i sökvägen så funkar scriptet som vilket kommando som helst.
Den stora skillnaden i DOS och FönsterDOS är väl att mappen man befinner sig i per automatik finns först i sökvägen. Eller minns jag fel?
"./" betyder bara att man ska köra ett program eller ett script i den mapp man befinner sig i. Funkar det inte snarlikt i din värld?

Re: Python - hjälp att omvandla en variabel till integer

Postat: 5 november 2017, 23:05:57
av sodjan
Nu spårar Python tråden ur här lite... :-)

Om du med "din värld" syftar på VMS, så körs script
med ett speciellt tecken först, "@". Ett kommando som
inte börjar med "@" kör aldrig ett script, om man inte har
skapat en symbol speciellt för det. Ett exempel med ett script
med ett "write" kommando som heter som ett kommando nedan.
En symbol "copy" skapas också som kör scriptet. Gör man det så
blir COPY kommandot (tillfälligt) otillgängligt...

Kod: Markera allt

$ type directory.com
$ write sys$output "Här körs DIRECTORY.COM..."
$
$ directory directory.com

DIRECTORY.COM;2     DIRECTORY.COM;1

$
$ @directory
Här körs DIRECTORY.COM...
$
$ copy = "@directory"
$ copy
Här körs DIRECTORY.COM...
$ delete /symbol copy
$ copy
_From:

Re: Python - hjälp att omvandla en variabel till integer

Postat: 5 november 2017, 23:18:50
av lillahuset
Tänk vad man får lära sig här. :)

Re: Python - hjälp att omvandla en variabel till integer

Postat: 5 november 2017, 23:22:26
av sodjan
Ja, t.ex att världen är större än vad man kanske tror... :-)

Re: Python - hjälp att omvandla en variabel till integer

Postat: 6 november 2017, 03:23:58
av 007sweden
Att importera något, till exempel random, är i princip som att säga åt python att öppna den mappen eller filen.

Man kan skapa egna moduler och importera egna funktioner och klasser på det sättet.

Kod: Markera allt

import egetskript

from annategetskript import egenfunktion
Som exempel. Så heter ditt skript samma som något du importerar letar python först efter den modulen, i ditt fall random, i den mapp du arbetar i. Sen i pythons lib-mappar.

Re: Python - hjälp att omvandla en variabel till integer

Postat: 6 november 2017, 18:45:45
av Nerre
sodjan skrev: Men det måste väl gälla för alla inbyggda kommandon, att man inte
kan skapa ett skript med samma namn. Eller är det unikt för just "test"?
Ja det är klart att det gäller alla inbyggda kommandon. Men tittar man på vad folk döper sin testprogram till så hamnar såklart "test" högt upp i den listan.