• Opret dig
  • Glemt adgangskode

User account menu

  • Artikler
  • Forside
  • Forum
  • Nyheder
  • Log ind
Hjem
LinuxIN.dk

Snak med

Opret dig!

Af Anonym7 | 29.09.2008 12:16

spørgsmål til python-folket

Programmering
Mit forhold til Python kan bedst opsummeres som on/off så jeg kan ikke specielt meget af sproget men jeg kan rimeligvis læse op på det :)

Jeg har til sinde at erstatte nogle Bash scripts som jeg ikke er specielt glad for - til dette er Python valgt.

import subprocess

def runBash(cmd):
p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE)
out = p.stdout.read().strip()
return out # this is the stdout from the shell command

Denne snippet snuppet fra:
http://www.redhatmagazine.com/2008/02/07/python-for-bash-scripters-a-we…

og den fungerer på sin vis også fint for de fleste ting, men jeg har dog fundet et problematisk eksempel:

iwconfig skal returnere:
----
lo no wireless extensions.

eth0 no wireless extensions.

wmaster0 no wireless extensions.

wlan0 IEEE 802.11 ESSID:"mitLan"
Mode:Managed Frequency:2.437 GHz Access Point: 00:00:00:00:00:00
Bit Rate=54 Mb/s Tx-Power=15 dBm
Retry min limit:7 RTS thr:off Fragment thr=2352 B
Link Quality=71/100 Signal level=-63 dBm Noise level=-127 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0

ppp0 no wireless extensions.

----

Og det gør den også.

EDIT:
WHOOOPS.. roder lige lidt mere med det.. Sorry :/ Vil opdatere tråden såfremt mine formodninger viser sig ikke at holde stik.
  • Log ind eller opret dig for at tilføje kommentarer

Kommentarer1

# 1

17 år 1 måned siden

Permalink

Indsendt af Anonym7 den 29. september 2008 kl. 12:32

Permalink

Re: spørgsmål til python-folket

Ok her er problemet:

unixCommand = r"""iwconfig 2>/dev/null|grep wlan0 | tr -s " "|cut -d " " -f4|cut -d \" -f2"""
result = runBash(unixCommand)

dette returnerer ganske vidst mit ESSID. Men jeg har været nødt til at prefixe stringen med r for raw-interpretation for ikke at komme ind i store problemer med hhv. egentlige gåseøjne og mulige escape-character sequences.

Hvordan kommer jeg mere elegant om dette således "wlan0" kan erstattes af identifier'en på en variabel ?
  • Log ind eller opret dig for at tilføje kommentarer

Svar søges

Internettet er ved at dø. Vi kan stadig stoppe det 0
Tid til at lære noget igen 0
TPM 2 0
BigLinux 0
Amerikansk tastatur på dansk tastatur 0

Seneste aktivitet

Nørder søger nørder: Første Linux-brugergruppe på Mors 2
Østrigsk ministerium smider Microsoft ud til fordel for Nextcloud 1
Brug carburetor til at forblive usynlig online 8
Sådan konfigurerer du flatpaks' flathub til verified only 9
Plasma tapet-skifter 3
How to upgrade to LMDE 7 4
Virksomheder og enheder der kører på Linux 11
NordVPN har udgivet kildekoden til sin grafiske brugergrænseflade 2
Flere og flere bruger Brave browseren 1
LibreOffice og Collabora: Hvorfor er de ikke i skolerne i stedet for Word og Google Docs? 11
Firewall igen 5
Værdien ved open source 2
Sailfish på android telefon 1
Ladybird Browser 7
Satiriske ordspil 3
Kan ikke boote på installation 26
Tilføj signatur til Evolution mail 2
LUKS kryptering - Er der andre der bruger det 15
Dansk distro til software udviklere 2
Linux Debian 5

© 2025 Linuxin og de respektive skribenter

Oprettet og drevet af nørder siden 2004 !