我有两个代码脚本,我只想将一个特定的行从一个导入到另一个。我该怎么做?

时间:2019-07-08 11:36:44

标签: python python-3.x python-2.7 import

我想将一个特定的代码行从一个脚本导入另一个脚本。我不希望新代码仅在一行中运行整个脚本。我该怎么办?

例如from brcus import value

其中value等于完成的脚本中的数字,我想将该数字导入新脚本中,而旧脚本中的该行代码为:“ value = 500”

4 个答案:

答案 0 :(得分:0)

无论何时导入任何python模块或软件包,并使用该模块中的某些函数或值,都不会立即运行所有脚本。

您可以那样做。

  1. 新脚本:-new.py
  2. 旧脚本:-old.py

如果在同一目录中。.

from old import value

a = value

答案 1 :(得分:0)

我不建议您使用提取变量的方法。您应该查看实际的数据交换格式,例如jsonxml。 它们被设计用来保存程序并使其易于访问,同时(在某种程度上)是人类可读的。 这些格式的解析器以及更多其他可用。

答案 2 :(得分:0)

如果使用命令导入

from package import value

该值将作为新代码的一部分出现在您的新代码中

例如

Source.py

value = 500
other = 400

Destiny.py

from Source import value
print (value)
>>500

Destiny.py

from Source import value
print (other)
>>NameError: name 'other' is not defined

答案 3 :(得分:0)

我建议将要导入的零件移动到单独的模块中,并将其导入到其使用的所有模块中

my_var.py

 text = "Hello"

test.py

from my_var import text

def hello_friend(friend_name)
    print(text + " " + friend_name)

main.py

from my_var import text

print(text)

您还可以在导入的模块中设置环境变量并检查其值

test.py

import os

if os.environ['only_new_str'] != str(True):
    print("new_str is not calculated yet")
new_str = "Hello world"
if os.environ['only_new_str'] != str(True):
    print("new_str calculated")

main.py

import os
os.environ['only_new_str'] = str(True)
import test

print(test.new_str)