Forum » Operacijski sistemi » problem z linuxom (rabim cimprej prosim)
problem z linuxom (rabim cimprej prosim)
Isotropic ::
-zakaj mi vrze ven napako bad interpreter, no such file or directory in /usr/bin/python^M?
to vrstico sem na novo copypastal z drugega linux skripta (v linuxu - nedit), tako da ne vem, kaj mu ni vsec. ce dam less test.py zgleda vse normalno.
-rad bi pognal ./test.py
tako da lavfa v ozadju in da shranjuje ves output v ozadje v datoteko.
to se naredi z ( ./test.py >& output.txt ) &
ce se ne motim?
to vrstico sem na novo copypastal z drugega linux skripta (v linuxu - nedit), tako da ne vem, kaj mu ni vsec. ce dam less test.py zgleda vse normalno.
/bin/bash: ./test.py: /usr/bin/python : bad interpreter: No such file or directory
-rad bi pognal ./test.py
tako da lavfa v ozadju in da shranjuje ves output v ozadje v datoteko.
to se naredi z ( ./test.py >& output.txt ) &
ce se ne motim?
- spremenil: Isotropic ()
BaRtMaN ::
Newline [wikipedia.org].
Verjetno si datoteko shranil v kakšnem združljivostnem načinu? Probaj shranit samo z NL, ne pa NL+CR. Na wiki strani imaš tudi ukaze, kako se to stori.
z znakom > preusmeriš le stdout, ki se zapiše tudi kot &1. Marikateri program izpisuje napake tudi v stderr, ki je &2, tako da je velikokrat potrebno preusmeriti stderr v stdout. Za več si preberi What does "> /dev/null 2>&1" mean?
Verjetno si datoteko shranil v kakšnem združljivostnem načinu? Probaj shranit samo z NL, ne pa NL+CR. Na wiki strani imaš tudi ukaze, kako se to stori.
z znakom > preusmeriš le stdout, ki se zapiše tudi kot &1. Marikateri program izpisuje napake tudi v stderr, ki je &2, tako da je velikokrat potrebno preusmeriti stderr v stdout. Za več si preberi What does "> /dev/null 2>&1" mean?
Zgodovina sprememb…
- spremenil: BaRtMaN ()
Isotropic ::
ne, vse gre v stdout kolikor mi je znano. oz. vse se izpise na ekran. (ker je to itak moja skripta, error handlinga ni)
v bistvu vse dela v ozadju, samo noce pa zapisovati v datoteko.
v bistvu vse dela v ozadju, samo noce pa zapisovati v datoteko.
Zgodovina sprememb…
- spremenil: Isotropic ()
BaRtMaN ::
No, v tvojem ukazu zgoraj mi ni jasno, kaj hočeš dosečt z >&. Probaj samo
(./test.py > output.txt)&
Isotropic ::
ne dela output v file. skripta dela normalno. (pa bi mogla outputat, sem dal prav na zacetek print ('...')
tudi samo ./test.py > bla ne dela
tudi samo ./test.py > bla ne dela
Zgodovina sprememb…
- spremenil: Isotropic ()
Kami ::
V primeru, ki ga omenjaš bi zadeva morala delovati.
Edino kaj ti še ostane je to, da sem prilepiš celo skripto, da vidimo, če se problem slučajno skriva kje drugje (kar je sicer malo verjetno, ker si napisal, da si dal print čisto na začetek).
Edino kaj ti še ostane je to, da sem prilepiš celo skripto, da vidimo, če se problem slučajno skriva kje drugje (kar je sicer malo verjetno, ker si napisal, da si dal print čisto na začetek).
Poldi112 ::
Instaliraj si python-a, oz. popravi prvo vrstico skripte, da dejansko kaže na pravo mesto.
Where all think alike, no one thinks very much.
Walter Lippmann, leta 1922, o predpogoju za demokracijo.
Walter Lippmann, leta 1922, o predpogoju za demokracijo.
Isotropic ::
saj je instaliran, sem sel gledat na /usr/bin/python
me pa zanima se, kaj je to stderr in kaksne vrste output gre not? mi je bilo receno, da je to vzrok napake...
sam program ne javi nobene napake
me pa zanima se, kaj je to stderr in kaksne vrste output gre not? mi je bilo receno, da je to vzrok napake...
sam program ne javi nobene napake
Zgodovina sprememb…
- spremenil: Isotropic ()
redo ::
A lahko izvemo prvo vrstico iz tvoje skripte? Tisto s '#!'? Verjetno je pa res, kar ti je napisal BaRtMaN. Se pravi, da imaš v tej vrstici na koncu neke 'skrite' znake.
Kar se tiče >& iz
man bash
Kar se tiče ()&, oklepajev pravzaprav ne rabiš. Relevanten del v manualu je tisti pod naslovom Lists in naslednji Compound Commands.
Lahko pa stvar poženeš kot
python text.py &>output.txt &
Kar se tiče >& iz
man bash
Redirecting Standard Output and Standard Error
This construct allows both the standard output (file descriptor 1) and
the standard error output (file descriptor 2) to be redirected to the
file whose name is the expansion of word.
There are two formats for redirecting standard output and standard
error:
&>word
and
>&word
Of the two forms, the first is preferred. This is semantically equiva‐
lent to
>word 2>&1
Kar se tiče ()&, oklepajev pravzaprav ne rabiš. Relevanten del v manualu je tisti pod naslovom Lists in naslednji Compound Commands.
Lahko pa stvar poženeš kot
python text.py &>output.txt &
redo ::
Ah ja, tole z &> mislim da je v 'novejših' verzijah (forgive my ignorance), lahko pa uporabiš ekvivalent >word 2>&1. Se pravi
python text.py >output.txt 2>&1 &
python text.py >output.txt 2>&1 &
Isotropic ::
#!/usr/bin/python from array import * file = open('Job-1.inp', 'r') temp = [] temp2 = [] db = {} db['Grains'] = [] node = 0 element = 0 for line in file: if '*Part' in line: temp = line.strip('\r\n ') temp = temp.split('=') db['Grains'].append(temp[-1]) db[temp[-1]] = {} db[temp[-1]]['nodes'] = [] db[temp[-1]]['elements'] = [] #db[temp[-1]]['elements']['type'] = [] #db[temp[-1]]['elements']['connectivity'] = [] elif '*Instance' in line: #print line temp = line.strip('\r\n') #print temp temp = temp.split(', ') temp = temp[-1].split('=') grain = temp[-1] elif '*End Instance' in line: node = 0 element = 0 pass elif '*Node' in line: node = 1 element = 0 elif '*Element' in line: node = 0 element = 1 elif node == 1 and grain != 0 : #print line temp = line.strip(' ') temp = temp.strip('\r\n') temp = temp.split(',') db[grain]['nodes'].append([int(temp[0]), float(temp[1]), float(temp[2]), float(temp[3])]) elif element == 1 and grain != 0: temp = line.strip(' ') temp = line.split(',') db[grain]['elements'].append([int(temp[0]), int(temp[1]), int(temp[2]), int(temp[3]), int(temp[4])]) #print temp file.close() print ('finished populating data\n') #do not change until here! # # # eps = 1e-4 for grain in db['Grains']: for element in db[grain]['elements']: print ('checking element ', element[0], ' in grain ', grain) #node_1 = db[grain]['nodes'][element[1]-1][1:4] -- first node is the top of the pyramid node_2 = db[grain]['nodes'][element[2]-1][1:4] node_3 = db[grain]['nodes'][element[3]-1][1:4] node_4 = db[grain]['nodes'][element[4]-1][1:4] for newGrain in db['Grains']: if newGrain != grain: for el in db[newGrain]['elements']: #testNode_1 = db[newGrain]['nodes'][el[1]-1][1:4] testNode_2 = db[newGrain]['nodes'][el[2]-1][1:4] testNode_3 = db[newGrain]['nodes'][el[3]-1][1:4] testNode_4 = db[newGrain]['nodes'][el[4]-1][1:4] li = [testNode_2, testNode_3, testNode_4] if node_2 == testNode_2 and node_3 == testNode_3 and node_4 == testNode_4: print ('Success for element ', element[0], ' of grain ', grain, '. Connecting element: ', el[0], ' and grain: ', newGrain)
evo kodo
shranjena je bila pod unix, edina razlika je pa bila, da ne javi vec napake /usr/bin/python^M, ki je bila posledica dos kodiranja.
btw, ce ima kdo kaksen nasvet, kako jo lahko pohitrim, please by all means, ker zdaj je grozno pocasna. prepisati kam drugam je zal ne morem.
en element (druga vrstica v loopu) se izvede na vsakih ~5s, jih je pa dobesedno ogromno (100,000 recimo)
aja, ce jo zazenem brez backgrounda, dela pravilno.
Zgodovina sprememb…
- spremenil: Isotropic ()
Isotropic ::
print ('checking element ', element[0], ' in grain ', grain)
glede na output naj bi bila napaka tukaj???
[cesar@mangrt100 ConformalMesh]$ ./test.py finished populating data ('checking element ', 1, ' in grain ', 'Grain_1') ('checking element ', 2, ' in grain ', 'Grain_1') ('checking element ', 3, ' in grain ', 'Grain_1') ('checking element ', 4, ' in grain ', 'Grain_1') ('checking element ', 5, ' in grain ', 'Grain_1') ('checking element ', 6, ' in grain ', 'Grain_1') ('checking element ', 7, ' in grain ', 'Grain_1') ('checking element ', 8, ' in grain ', 'Grain_1') ('checking element ', 9, ' in grain ', 'Grain_1') ('checking element ', 10, ' in grain ', 'Grain_1')
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | (Java) Iskanje manjkajoči podatkov v tabeliOddelek: Programiranje | 1060 (825) | noraguta |
» | C# IEnumerable problemOddelek: Programiranje | 1577 (1346) | Genetic |
» | Python iskanje podvojenih vrednostiOddelek: Programiranje | 1496 (1209) | BlueRunner |
» | python problemOddelek: Programiranje | 1471 (1211) | Isotropic |
» | Python - problemOddelek: Programiranje | 2795 (2525) | slevin |