• 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 5 måneder 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

KDE Plasma 6.6 skrivebordsmiljø udgivet 0
youtube-tui: Nyd YouTube fra terminalen som en professionel 0
GRUB 2.14 introducerer understøttelse af EROFS, forbedringer til Btrfs og LVM 0
KDE Plasma 6.6 tilføjer en funktion, som brugerne har spurgt efter i evigheder 0
Linux i København 12.01.2026: Open source i det offentlige 0

Seneste aktivitet

BigLinux 5
Det engang så elskede PCLinuxOS er tilbage - og det er stadig en fantastisk Windows erstatning 1
rsync og filsystem 6
Mousam er en detaljeret desktop vejrapp til Linux 1
Hjælp til Handbrake - ingen dk-undertekster 1
luckyBackup 2
GIMP 30
Pinegrow på Debian 13 ? 4
Openmediavault 1
E-mail blues 9
Driver til min scanner? 5
Printer Epson ET-2865 problem 16
Sudo 7
Thunderbird filvedligeholdelse 2
Debian 13.3.0 8
Linux Mint 22.3 - hvornår opdatere? 10
Canon-printer: Jeg savner "Ink-Toner Level"-meddelelse 10
billede af nuværende installation 2
mapper 4
LinuxIn live 9

© 2026 Linuxin og de respektive skribenter

Oprettet og drevet af nørder siden 2004 !