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

Linux Foundation brugte 8,4 millioner dollars på Linux Kernel projektet i 2025 0
Nu kan man skrive private beskeder 0
KDE overgår indsamlingsmålet for 2025 med rekordstor støtte fra lokalsamfundet 0
Zypper Package Manager brugervejledning til openSUSE brugere og deres derivater 0
KDE Spectacle tilføjer OCR understøttelse for at kopiere tekst direkte fra skærmbilleder 0

Seneste aktivitet

Kopiering til min Samsung telefon 5
Mbox mail import til Thunderbird 14
FOSS i Færdselsstyrelsen 2
Program ala Dreamweaver 2
Test af forum 5
Kunstig inteligens 1
Flatpak og hvorfor 1
Har brugt GLF OS, en NixOS-baseret distribution lavet i Frankrig. 2
Crontab 2
[ LØST ] Flere genveje på Firefox skrivebordet 5
Linuxin er nu migreret til Drupal 11 15
Dansk distro til software udviklere 3
Driver til min scanner? 3
Affinity V3 2
copy hvordan 1
Sortering af filer - sort of... 4
Det der ikke må galt gik galt 5
VPN — 8 tests, 1 klar vinder i 2025 3
Lidt nostalgi 1
Forum. 1

© 2025 Linuxin og de respektive skribenter

Oprettet og drevet af nørder siden 2004 !