abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
včera 19:33 | Nová verze

Byla vydána nová major verze 2.9.0 multiplatformního svobodného frameworku pro zpracování obrazu G'MIC (GREYC's Magic for Image Computing, Wikipedie). Přehled novinek i s náhledy na PIXLS.US. Zmínit lze například generování moaré animací. Ukázka na YouTube.

Ladislav Hagara | Komentářů: 0
28.3. 17:33 | Zajímavý článek

Nová čísla časopisů od nakladatelství Raspberry Pi: MagPi 91 (pdf) a 92 (pdf), HackSpace 29 (pdf), Hello World 12 (pdf), Wireframe 33 (pdf), 34 (pdf) a 35 (pdf).

Ladislav Hagara | Komentářů: 1
28.3. 16:11 | IT novinky

Společnost FriendlyElec začala prodávat svůj nejnovější miniaturní jednodeskový počítač NanoPi R2S. Počítač v ceně 22 dolarů zaujme především dvěma Gigabit Ethernet porty.

Ladislav Hagara | Komentářů: 38
27.3. 07:00 | Zajímavý článek

David Malcolm se ve svém příspěvku na blogu vývojářů Red Hatu rozepsal o statické analýze a nové volbě -fanalyzer v GCC 10. Ukázkové příklady lze vyzkoušet také online na stránce Compiler Explorer.

Ladislav Hagara | Komentářů: 1
26.3. 20:22 | IT novinky

Český hydrometeorologický ústav doposud poskytoval data z meteorologických měření pouze za úplatu, přestože jde o veřejnou instituci. Dlouhodobě se tím zabýval Jan Cibulka, datový novinář Českého rozhlasu. Dosavadní praxe se však nyní mění – Cibulka syrová historická data získal a zveřejnil včetně vzorové žádosti dle zákona o právu na informace o životním prostředí. Podle chystaného zákona o zabezpečení hydrometeorologické služby by měla odpadnout i nutnost o data explicitně žádat.

Fluttershy, yay! | Komentářů: 67
26.3. 18:22 | IT novinky

Router Turris Omnia 2020 získal certifikaci FCC nezbytnou pro prodej na americkém trhu. S tím souvisí, že je nyní tento router k dostání také prostřednictvím internetového obchodu Amazon.com. Nová verze routeru, která je v nabídce za 334 USD, má stříbrný kovový design a je vybavena operačním systémem Turris OS 4.0. Mimo to jsou její součástí i automatické bezpečnostní aktualizace a nově také testovací verze nového systému zabezpečení Sentinel, který umožňuje ještě rychleji reagovat na síťové hrozby.

Ladislav Hagara | Komentářů: 2
26.3. 16:44 | Zajímavý software

Projekt KDE představuje nové uživatelské rozhraní Plasma Bigscreen pro využití s velkými obrazovkami pro přehrávání multimédií. Vedle technologií Plasma integruje také Mycroft k ovládání hlasem. Ke stažení je betaverze pro Raspberry Pi 4.

Fluttershy, yay! | Komentářů: 3
26.3. 15:11 | Zajímavý software

Microsoft aktualizoval dokumentaci ke svému bezpečnostnímu softwaru Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP) for Linux. Aktuálně je k dispozici veřejná preview verze. Oficiálně podporovány jsou linuxové distribuce Red Hat Enterprise Linux, CentOS, Ubuntu, Debian, SUSE Linux Enterprise Server a Oracle Linux. Původně Windows Defender byl loni přejmenován na Microsoft Defender, poněvadž byl přenesen také na macOS.

Ladislav Hagara | Komentářů: 3
26.3. 07:00 | Zajímavý článek

Ars Technica rozebírá na open source cílenou FUD zprávu, kterou v reakci na začlenění ovladače pro souborový systém exFAT do jádra Linux (posvěcené Microsoftem) šíří firma Paragon Software, která nabízí mj. alternativní, komerční ovladače exFAT.

Fluttershy, yay! | Komentářů: 20
25.3. 14:55 | Upozornění

S touto zprávičkou bylo na AbcLinuxu vydáno přesně 25 000 zpráviček. První z nich vyšla 4. října 2003. Leoš Literák v ní oznámil, že AbcLinuxu nově podporuje také zprávičky.

Ladislav Hagara | Komentářů: 34
Se kterými dopady COVID-19 už jste se přímo osobně setkali?
 (3%)
 (53%)
 (38%)
 (38%)
 (36%)
 (6%)
 (20%)
Celkem 420 hlasů
 Komentářů: 43, poslední včera 20:38
Rozcestník

www.AutoDoc.Cz

Dotaz: Problém s cestou která obsahuje mezeru a je uložená v proměnné

1.3. 19:52 jj
Problém s cestou která obsahuje mezeru a je uložená v proměnné
Přečteno: 473×
Ahoj všichni, ;-)

jak můžu zavolat/spustit prosím jiný script z python scriptu když je v cestě mezera a ta cesta je v proměnné?

Zkoušel jsem kde co i třeba tohle
os.system(path)
subprocess.call(path, shell=True)

Díky za pomoc.

Řešení dotazu:


Odpovědi

Gréta avatar 1.3. 20:20 Gréta | skóre: 19 | blog: Grétin blogísek | Stockholm
Rozbalit Rozbalit vše Re: Problém s cestou která obsahuje mezeru a je uložená v proměnné

v linuxu je potřeba mezeru escapovat to jako znamená nahradit ' ' timhletim '\ ' aby ji viděl jako znak jednoho toho samýho řetězce a ne jakoby dva různý :O ;D

de to udělat takhle nahrazením znaků ' ' znakama '\ ' ale asi bude existovat i nějakej lepší způsob si myslim ale nevim. tohleto funguje

import subprocess
import os

path="./nova slozka/skript.sh"
path=path.replace(" ","\ ")
subprocess.call(path, shell=True)

1.3. 21:08 jj
Rozbalit Rozbalit vše Re: Problém s cestou která obsahuje mezeru a je uložená v proměnné
Díky, v Linuxu to jde ale ve Windows mi to nefunguje. Potřeboval bych to funkční pro obě Linux i Windows
Gréta avatar 1.3. 22:04 Gréta | skóre: 19 | blog: Grétin blogísek | Stockholm
Rozbalit Rozbalit vše Re: Problém s cestou která obsahuje mezeru a je uložená v proměnné

mi fungovalo udělat z tý windowsí cesty raw string hele

jsem to ale testovala jen pod win7 tak nevim jestli se to jako bude u vyších verzí chovat stejně tak pozor :O :O

import subprocess
import os
 
path=r"C:\Users\Gréta\nova slozka\skript.bat"
subprocess.call(path, shell=True)
1.3. 22:25 jj
Rozbalit Rozbalit vše Re: Problém s cestou která obsahuje mezeru a je uložená v proměnné
Ta moje proměnná 'path' se skládá ze spousta proměnných. které teprve naplní stringem tu proměnnou 'path'
path = path_1+"\\"+path_2+"\\"+"\\".join(arr_a)+"\\"+arr_b[23]
tak to mám použít takto?
subprocess.call(r'path', shell=True)
Díky
Gréta avatar 1.3. 22:57 Gréta | skóre: 19 | blog: Grétin blogísek | Stockholm
Rozbalit Rozbalit vše Re: Problém s cestou která obsahuje mezeru a je uložená v proměnné

to fungovat nebude tam jakoby deklaruješ novej string o obsahu "path"

ale když už cestu sestavuješ takle ručně nepoběží ti to uplně normálně takle i s tou mezerou pod win??

path="C:\\Users\\Gréta\\nova slozka\\skript.bat"
subprocess.call(path, shell=True)
1.3. 23:01 jj
Rozbalit Rozbalit vše Re: Problém s cestou která obsahuje mezeru a je uložená v proměnné
Nepoběží :-(, jelikož hledá místo souboru
C:\\Users\\Gréta\\nova slozka\\skript.bat
tento soubor
C:\\Users\\Gréta\\nova
Řešení 1× (Vladimír Čunát)
Jendа avatar 1.3. 23:00 Jendа | skóre: 76 | blog: Výlevníček | JO70FB
Rozbalit Rozbalit vše Re: Problém s cestou která obsahuje mezeru a je uložená v proměnné
Proč dáváš shell=True když ho nepotřebuješ? Bez toho je to argv pole kde je přímo cesta k souboru (a ty další prvky jsou parametry) a žádné shellové escapování nebudeš řešit.
1.3. 23:04 jj
Rozbalit Rozbalit vše Re: Problém s cestou která obsahuje mezeru a je uložená v proměnné
Tak jak to mám napsat?
subprocess.call(path, shell=False)
Jendа avatar 1.3. 23:07 Jendа | skóre: 76 | blog: Výlevníček | JO70FB
Rozbalit Rozbalit vše Re: Problém s cestou která obsahuje mezeru a je uložená v proměnné
subprocess.call([path])
shell=False je default.
1.3. 23:21 jj
Rozbalit Rozbalit vše Re: Problém s cestou která obsahuje mezeru a je uložená v proměnné
To vypadá Jendo, že to asi funguje, musím otestovat pořádně, a když chci kopírovat soubor? Děkuji
subprocess.call(['copy', filepath1, filepath2])
Gréta avatar 2.3. 16:34 Gréta | skóre: 19 | blog: Grétin blogísek | Stockholm
Rozbalit Rozbalit vše Re: Problém s cestou která obsahuje mezeru a je uložená v proměnné

todleto ti bude fungovat si myslim jenom v linuxu s příkazem cp jako subprocess.call(['cp', filepath1, filepath2]) ve win asi budeš muset jako použít misto pole ten jedinej string a argument shell=True

kopírování s mezírkama mi ve win fungovalo takhlenc

subprocess.call("copy orig.txt \"kopie s mezerama.txt\"",shell=True)

tomu shell true je ale prej dobrý se vyhnout vždykcky když se dá protože jako muže bejt dost nebezpečný hele :O :O

jestli ti ale jako de jenom o kopírování souborů tak jsou i nějaký hotový multiplatformní řešení v tom pythonu třeba shutil hele ;D

Gréta avatar 1.3. 23:19 Gréta | skóre: 19 | blog: Grétin blogísek | Stockholm
Rozbalit Rozbalit vše Re: Problém s cestou která obsahuje mezeru a je uložená v proměnné

no jasně jako já to tam ve win cpu do subprocess.call bez toho argumentu shell=True proto mi to jede :O :O :O :O

1.3. 23:31 jj
Rozbalit Rozbalit vše Re: Problém s cestou která obsahuje mezeru a je uložená v proměnné
A spustí se ti ten dávkový soubor bat v novém terminálu?
Gréta avatar 1.3. 23:53 Gréta | skóre: 19 | blog: Grétin blogísek | Stockholm
Rozbalit Rozbalit vše Re: Problém s cestou která obsahuje mezeru a je uložená v proměnné

to ne

jestli to jako chceš nechat běžet v jiným okýnku tak tohleto řešení by pod win mohlo jet

import os
import subprocess
from subprocess import CREATE_NEW_CONSOLE

path="C:\\Users\\Gréta\\nova slozka\\skript.bat"
subprocess.call([path], creationflags=CREATE_NEW_CONSOLE)

2.3. 00:29 jj
Rozbalit Rozbalit vše Re: Problém s cestou která obsahuje mezeru a je uložená v proměnné
Díky moc, už se mi to taky spustí v novém okně, ale pořád to čeká na dokončení, proč? Chtěl bych to jen spustit a ať si to otevřené okno žije vlastním životem :-)
Jendа avatar 2.3. 01:03 Jendа | skóre: 76 | blog: Výlevníček | JO70FB
Rozbalit Rozbalit vše Re: Problém s cestou která obsahuje mezeru a je uložená v proměnné
subprocess.Popen
2.3. 13:38 jj
Rozbalit Rozbalit vše Re: Problém s cestou která obsahuje mezeru a je uložená v proměnné
Funguje, díky.
Gréta avatar 2.3. 16:35 Gréta | skóre: 19 | blog: Grétin blogísek | Stockholm
Rozbalit Rozbalit vše Re: Problém s cestou která obsahuje mezeru a je uložená v proměnné

supr ;D

5.3. 01:36 jj
Rozbalit Rozbalit vše Re: Problém s cestou která obsahuje mezeru a je uložená v proměnné
Díky ;-)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.