GNU/Linux >> Belajar Linux >  >> Linux

Cara menggunakan ekspor dengan Python di Linux

Anda benar-benar ingin melakukan

import os
os.environ["MY_DATA"] = "my_export"

Tidak sesederhana itu:

python -c "import os; os.putenv('MY_DATA','1233')"
$ echo $MY_DATA # <- empty

Tapi:

python -c "import os; os.putenv('MY_DATA','123'); os.system('bash')"
$ echo $MY_DATA #<- 123

Cara lain untuk melakukan ini, jika Anda sedang terburu-buru dan tidak keberatan dengan hacky-aftertaste, adalah dengan mengeksekusi keluaran skrip python di lingkungan bash Anda dan mencetak perintah untuk menjalankan pengaturan lingkungan dengan python. Tidak ideal tetapi dapat menyelesaikan pekerjaan dalam keadaan darurat. Ini tidak terlalu portabel di seluruh shell, jadi YMMV.

$(python -c 'print "export MY_DATA=my_export"')

(Anda juga dapat menyertakan pernyataan di backticks di beberapa shell ``)


export adalah perintah yang Anda berikan langsung ke shell (misalnya bash ), untuk memintanya menambah atau memodifikasi salah satu variabel lingkungannya. Anda tidak dapat mengubah lingkungan shell Anda dari proses anak (seperti Python), itu tidak mungkin.

Inilah yang terjadi saat Anda mencoba os.system('export MY_DATA="my_export"') ...

/bin/bash process, command `python yourscript.py` forks python subprocess
 |_
   /usr/bin/python process, command `os.system()` forks /bin/sh subprocess
    |_
      /bin/sh process, command `export ...` changes its local environment

Saat paling bawah /bin/sh subproses selesai menjalankan export ... Anda perintah, lalu dibuang, bersama dengan lingkungan yang baru saja Anda ubah.


Linux
  1. Cara menggunakan BusyBox di Linux

  2. Cara menggunakan memori bersama dengan Linux di C

  3. Bagaimana saya bisa menggunakan dialog peringatan dengan Python di linux?

  1. Bagaimana saya menggunakan Vagrant dengan libvirt

  2. Cara menginstal Python di Linux

  3. Bagaimana saya menggunakan cron di Linux

  1. Cara Menggunakan Perintah Hexdump Linux dengan Contoh Praktis

  2. Cara menggunakan Perintah Su di Linux

  3. Perintah SCP di Linux:Cara Menggunakannya, dengan Contoh