Я хочу, чтобы os.system('env')
не содержал определенной переменной myname
который экспортируется в ~/.bashrc
как export myname=csj
Поэтому я написал ниже код python:
import os
def print_all():
print "os.environ['myname']=%s" % os.environ.get('myname')
print "os.getenv('myname')=%s" % os.getenv('myname')
os.system('env | grep myname')
print
def delete_myname():
if 'myname' in os.environ: os.environ.pop('myname')
if os.getenv('myname'): os.unsetenv('myname')
print_all()
os.putenv('myname', 'csj2')
print "---------------------"
delete_myname()
print_all()
os.putenv('myname', 'csj3')
print "---------------------"
delete_myname()
print_all()
Я думаю, рассмотрим как os.environ['myname']
, так и os.getenv('myname')
а затем удалите их, если они существуют,
может гарантировать, что os.system('env | grep myname')
ничего не получит.
Однако результат:
os.environ['myname']=csj
os.getenv('myname')=csj
myname=csj
---------------------
os.environ['myname']=None
os.getenv('myname')=None
---------------------
os.environ['myname']=None
os.getenv('myname')=None
myname=csj3
Я не понимаю, почему у меня все еще есть csj3
на os.system('env | grep myname')
?