• 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 7 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

tst 0
Linux Fanpakke til LUG'er og foreninger 0
KDE Plasma 6.6 skrivebordsmiljø udgivet 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

Seneste aktivitet

USB problemer 4
Frankrig lancerer regeringsplan for skift til Linux desktops 4
Pepsi Challenge 18
Canonical planlægger Kontroversielle GRUB ændringer til Ubuntu 26.10 Secure Boot 1
Ubuntu MATE grundlægger Martin Wimpress træder tilbage efter 12 år 1
OpenShot 3.5 tager et spring fremad inden for ydeevne, AI og videoredigering 4
(U)hyggen breder sig 6
rsync og filsystem 7
Stor sejr for open source, da Tyskland støtter åbent dokumentformat 2
youtube-tui: Nyd YouTube fra terminalen som en professionel 5
Lukker og slukker 8
BigLinux 6
Det engang så elskede PCLinuxOS er tilbage - og det er stadig en fantastisk Windows erstatning 1
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

© 2026 Linuxin og de respektive skribenter

Oprettet og drevet af nørder siden 2004 !