c语言调用python变量_如何在Python中使用外部变量,如C中的“extern int x;”?

这是通过使用公共外部文件解决此问题的方法。在本例中,我将存储一个索引变量,以便在每个应用程序中标记是否正在访问文件。ext1.py中的变量indxOpen和ext2.py中的变量indxO正在更新并存储在公共外部文本文件“externalVars.txt”中

领导应用ext1.py# lead application ext1.py

#this alternately flips the value of indxOpen on prime number intervals

import time

def update(d,v1):

f=open(d+'externalVars.txt','r+')

f.write(str( v1))

f.truncate()

f.close()

# ensure variable is initialised and made available to external apps

indxOpen = False

var_dir = "/"

try:

f =open(var_dir+'externalVars.txt','r')

except:

f= open(var_dir+'externalVars.txt','w')

f.close()

# this alternately flips the value of indxOpen on prime number intervals

update(var_dir,indxOpen)

i = 0

while True:

while indxOpen:

i += 1

if (i % 13) ==0:

indxOpen = indxOpen ^ True

update(var_dir,indxOpen)

f=open(var_dir+'externalVars.txt','r+')

t=f.readline()

print "app1",t," ",i

if t=='False':

print "app1 updated"

update(var_dir,indxOpen)

indxOpen = False

else:

time.sleep(1.4)

while not indxOpen:

f=open(var_dir+"externalVars.txt","r+")

t=f.readline()

print "app1",t

if t=='True':

indxOpen = True

else:

time.sleep(1)

ext2.py后续应用# ext2.py this alternately flips the value of indxO on prime number intervals but it is initialised by the lead application

# in this case ext1.py

# python 2.7.12

import time

def update(d,v1):

f=open(d+'externalVars.txt','r+')

f.write(str( v1))

f.truncate()

f.close()

var_dir = "/"

# intialise external variable

f=open(var_dir+'externalVars.txt','r+')

t=f.readline()

if t=='True':

indxO= True

if t=='False':

indxO= False

i=0

while True:

while indxO:

f=open(var_dir+"externalVars.txt","r+")

t=f.readline()

print "app2",t

if t=='False':

indxO = False

update(var_dir,indxO)

else:

time.sleep(1.5)

while not indxO:

i += 1

if (i % 17) ==0:

indxO = indxO ^ True

update(var_dir,indxO)

f=open(var_dir+"externalVars.txt","r+")

t=f.readline()

print "app2",t," ",i

if t=='True':

indxO = True

print "apt2 updated"

update(var_dir,indxO)

else:

time.sleep(1.3)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值