python using variables from another file

后端 未结 2 1418
时光说笑
时光说笑 2020-11-27 04:03

I\'m new and trying to make a simple random sentence generator- How can I pull a random item out of a list that is stored in another .py document? I\'m using

         


        
相关标签:
2条回答
  • 2020-11-27 04:03

    It’s called importing.

    If this is data.py:

    verb_list = [
        'run',
        'walk',
        'skip',
    ]
    

    and this is foo.py:

    #!/usr/bin/env python2.7
    
    import data
    print data.verb_list
    

    Then running foo.py will access verb_list from data.py.


    You might want to work through the Modules section of the Python tutorial.


    If verb_list is stored in a script that you want to do other things too, then you will run into a problem where the script runs when all you’d like to do is import its variables. In that case the standard thing to do is to keep all of the script functionality in a function called main(), and then use a magic incantation:

    verb_list = [
        'run',
        'walk',
        'skip',
    ]
    
    def main():
        print 'The verbs are', verb_list
    
    if __name__ == '__main__':
        main()
    

    Now the code in main() won’t run if all you do is import data. If you’re interested, Python creator Guido van Rossum has written an article on writing more elaborate Python main() functions.

    0 讨论(0)
  • 2020-11-27 04:11

    You can import the variables from the file:

    vardata.py

    verb_list = [x, y, z]
    other_list = [1, 2, 3]
    something_else = False
    

    mainfile.py

    from vardata import verb_list, other_list
    import random
    
    print random.choice(verb_list) 
    

    you can also do:

    from vardata import *
    

    to import everything from that file. Be careful with this though. You don't want to have name collisions.

    Alternatively, you can just import the file and access the variables though its namespace:

    import vardata
    print vardata.something_else
    
    0 讨论(0)
提交回复
热议问题