Název souboru jako proměnná – Python – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Název souboru jako proměnná – Python – Fórum – Programujte.comNázev souboru jako proměnná – Python – Fórum – Programujte.com

 

Honza
~ Anonymní uživatel
451 příspěvků
9. 8. 2017   #1
-
0
-

Ahoj, jsem začátečník s Pythonem, můj dotaz možná pro někoho bude maličkost, tak doufám, že se mi dostane pomoci.

Pracuji v programu a výsledkem je série obrázků jsou pojmenované podle parametrů za kterých byly vytvořeny. Zatím jsem musel vždy přepisovat jméno souboru podle parametrů. Co hledám je způsob jak automaticky do: 

#Name_of_image
im.save(folder+"/45, 0.5, 0.52, 20, 0.51, 0.2.png")

namísto neustále kopírování číslic, měl pouze jakousi proměnnou, která bude parametry doplňovat automaticky. 

Všem díky za pomoc :-) 

Nahlásit jako SPAM
IP: 94.113.240.–
gna
~ Anonymní uživatel
1891 příspěvků
9. 8. 2017   #2
-
0
-

Obecně jde čísla převádět na stringy funkcí str, takže si ten název můžeš poskládat.

fname = str(1) + ", " str(2) + ".png"

Další možnost je funce str.format, která formátovací značky v řetězci nahradí hodnotami.

fname = "{}, {}.png".format(1, 2)
Nahlásit jako SPAM
IP: 213.211.51.–
gna
~ Anonymní uživatel
1891 příspěvků
9. 8. 2017   #3
-
0
-

Ty si tam samozřejmě nedáš takhle čísla, ale ty proměnné, ve kterých je máš.

Nahlásit jako SPAM
IP: 213.211.51.–
Honza
~ Anonymní uživatel
451 příspěvků
10. 8. 2017   #4
-
0
-

#2 gna
Při takovémto zadávání to funguje, ale problém je, že při ukládání souboru se jedná o text a zde už vaše navrhované řešení je opět prostý text. Jméno souboru poté nejsou parametry ale ""str(1) + ", " str(2) + ".png" "" a nebo rovnou přijde Syntac Error.

Nahlásit jako SPAM
IP: 94.113.240.–
gna
~ Anonymní uživatel
1891 příspěvků
10. 8. 2017   #5
-
0
-

Ten SyntaxError je proto, že mi tam chybí jedno +.

Problém s textem nechápu. Předpokládal jsem, že tam máš nějaké proměnné s číselnými hodnotami, se kterými nějak pracuješ. Z těch pak vygeneruješ název souboru jako string:

a = 45
b = 0.5
c = 0.52
d = 20
e = 0.51
f = 0.2
filename = "{}, {}, {}, {}, {}, {}.png".format(a,b,c,d,e,f)
...
im.save(folder + "/" + filename)
Nahlásit jako SPAM
IP: 213.211.51.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 13 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý