1

一个变量AAaaa.py. 我想在我的其他 python 文件中使用这个变量bbb.py

如何访问此变量?

4

4 回答 4

3

您正在寻找模块!

aaa.py

AA = 'Foo'

bbb.py

import aaa
print aaa.AA # Or print(aaa.AA) for Python 3
# Prints Foo

或者这也有效:

from aaa import AA
print AA
# Prints Foo
于 2013-05-10T10:55:30.947 回答
1

你可以导入它;这将执行整个脚本。

from aaa import AA
于 2013-05-10T10:51:20.783 回答
1

在您的文件bbb.py中,添加以下内容:

import sys
sys.path.append("/path/to/aaa.py/folder/")
from aaa import AA

还建议阅读有关 Python 模块及其import工作原理的更多信息。关于模块的官方文档。

于 2013-05-10T10:54:28.403 回答
-1

尽管导入是最好的方法(如 poke 或 Haidro 写的),但如果您使用一个脚本生成数据并希望在另一个脚本中访问它们,而不执行“ bbb.py”,这是另一种解决方法。因此,如果您正在处理大型列表/字典,这种方法效果很好,尽管如果您只是尝试交换字符串或数字,这将是一种矫枉过正......</p>

除此之外,您应该更详细地描述您的问题,因为从另一个脚本导入变量有点麻烦,可能不是要走的路。

所以这里有两个函数,第一个 ( dumpobj) 将变量(字符串、数字、元组、列表、dict 集合等)转储到文件中,第二个 ( loadobj) 将其读入。我决定使用json,因为数据文件是人类可读。

如果您经常需要,您可能想尝试一下:

import json


def dumpobj(the_object, filename) :
    """
    Dumps the_object to filename via json. Use loadobj(filename)
    to get it back.

         >>> from tgio import dumpobj, loadobj
         >>> foo = {'bar':42, 'narf':'fjoord', 23:[1,2,3,4,5]}
         >>> dumpobj(foo, 'foo.var')
         >>> bar = loadobj('foo.var')
         >>> bar
         {u'narf': u'fjoord', u'bar': 42, u'23': [1, 2, 3, 4, 5]}
    """
    try:
        with open(filename):
            print(filename + " exists, I'll will overwrite it.")
    except IOError:
        print(filename + ' does not exist. Creating it...')

    f = open(filename, 'w')
    json.dump(the_object, f)
    f.close()

def loadobj(filename) :
    """
    Retrieves dumped data (via json - see dumpobj) from filename.

         >>> from tgio import loadobj, dumpobj
         >>> foo = {'bar':42, 'narf':'fjoord', 23:[1,2,3,4,5]}
         >>> dumpobj(foo, 'foo.var')
         >>> bar = loadobj('foo.var')
         >>> bar
         {u'narf': u'fjoord', u'bar': 42, u'23': [1, 2, 3, 4, 5]}
    """
    try:
        with open(filename):
            print("Reading object from file " + filename)
    except IOError:
        print(filename + ' does not exist. Returning None.')
        return None

    f = open(filename, 'r')
    the_object = json.load(f)
    f.close
    return the_object

请参阅文档字符串中的用法示例!

于 2013-05-10T10:55:50.463 回答