Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  3 1028
Jeg prøver å kjøre en kommando i Linux fra et pythonscript, men jeg får ikke til å sette inn en streng i kommandoen. Kan noen hjelpe meg?

Det skal genereres et tall (siffer) og dett skal brukes to steder i kommandoen som skal kjøres.

Resultatet skal være:

qrencode -o siffer.png siffer

altså f.eks:
qrencode -o 1234.png 1234

Her er det jeg har så langt:


import random
import subprocess

for x in range(1):
siffer = random.randint(12232,144241)

subprocess.call('qrencode -o bilde.png', siffer)

Det er noe galt med formateringen her, men det er altså qrencode -o bilde.png
Sist endret av bronsky; 11. september 2015 kl. 00:14.
Du kan prøve dette?
Orker ikke sjekke om det funker, men mener å ha gjort noe ala dette


import random
import subprocess
args=[] #Argumentet til subprocess.call(). En liste med strenger. Funker muligens også å lage en stor streng.
args.append('qrencode') #nullte element er filnavnet. Mulig du må bruke full path, feks. '/home/per/desktop/qrencode'
args.append('-o')
args.append(' ')
args.append(' ')
for x in range(1):
siffer = random.randint(12232,144241)
filename = str(siffer) + '.png' #Lag en streng som ender opp med å være 'siffer.png'.
args[2]=filename
args[3]=str(siffer)
subprocess.call(args)
Sist endret av bocca; 11. september 2015 kl. 02:16.

Kode

subprocess.call(["qrencode", "-o", "{}.png".format(siffer), str(siffer)])
Sitat av Provo Vis innlegg

Kode

subprocess.call(["qrencode", "-o", "{}.png".format(siffer), str(siffer)])
Vis hele sitatet...
Tusen hjertelig takk! Det var akkurat det jeg letet etter.