Hướng dẫn python change variable from another file - biến thay đổi python từ một tệp khác

Nếu "biến" mà bạn đề cập đến là một giá trị có thể thay đổi, những gì bạn yêu cầu sẽ chỉ hoạt động.

fileB:

my_variable = ["a list with a string in it"]

fileA:

from fileB import my_variable  # import the value
my_variable.append["and another string"]

Sau khi fileA đã được tải fileB.my_variable sẽ có hai giá trị trong đó.

Nhưng, điều đó chỉ hoạt động cho các giá trị có thể thay đổi. Nếu biến là bất biến, mã trong fileA không thể thay đổi nó tại chỗ và do đó bạn sẽ gặp sự cố. Không có cách nào để khắc phục trực tiếp điều đó, nhưng có nhiều cách để giải quyết vấn đề và vẫn nhận được những gì bạn muốn.

Dễ nhất sẽ chỉ đơn giản là sử dụng import fileB thay vì from fileB import my_variable. Điều này cho phép bạn bất cứ điều gì trong không gian tên của ____ 10, chỉ bằng cách sử dụng một tên như

from fileB import my_variable  # import the value
my_variable.append["and another string"]
1. Bạn có thể phục hồi mọi thứ trong không gian tên cho nội dung trái tim của bạn:

fileB:

my_variable = 1    # something immutable this time

fileA:

import fileB
fileB.my_variable = 2   # change the value in fileB's namespace

Đó có lẽ là cách tiếp cận đơn giản nhất.

Một giải pháp khác là đặt biến bất biến bên trong một thùng chứa có thể thay đổi, và sau đó sửa đổi thùng chứa, thay vì biến. Chẳng hạn, nếu chuỗi

from fileB import my_variable  # import the value
my_variable.append["and another string"]
2 là giá trị chúng tôi muốn thay đổi ví dụ đầu tiên của tôi, chúng tôi chỉ có thể gán một giá trị mới cho
from fileB import my_variable  # import the value
my_variable.append["and another string"]
3 [thay vì thêm].

Một cách phổ biến để làm điều này là đặt các giá trị vào một từ điển, danh sách hoặc thậm chí trong một lớp [hoặc một trường hợp có thể thay đổi của một]. Sau đó, bạn có thể nhập đối tượng container và biến đổi nó để thay đổi giá trị bạn quan tâm.

tập tin. Write ["a_dictionary =" + str_dictionary + "\ n"] "\ n" Tạo dòng mới cho tệp ghi vào tiếp theo ..

tập tin. gần[].

Được chứ…then change

from fileB import my_variable  # import the value
my_variable.append["and another string"]
6 to another value via
my_variable = 1    # something immutable this time
2, and then have the variable
from fileB import my_variable  # import the value
my_variable.append["and another string"]
6 update in
from fileB import my_variable  # import the value
my_variable.append["and another string"]
0 with the new value?

Tôi không chắc liệu điều này có thể không, nhưng tôi chắc chắn muốn nghĩ như vậy. Tôi đang sử dụng Python 2.7.11, cảm ơn bạn trong nâng cao.

Xem thảo luận

Cải thiện bài viết

Lưu bài viết

  • Đọc
  • Bàn luận
  • Xem thảo luận

    Cải thiện bài viết

    Lưu bài viết

    Đọc

    Bàn luận

    Khi các dòng mã tăng lên, thật cồng kềnh khi tìm kiếm khối mã cần thiết. Đó là một thực tế tốt để phân biệt các dòng mã theo công việc của họ. Nó có thể được thực hiện bằng cách có các tệp riêng biệt cho các mã làm việc khác nhau. Như chúng ta đã biết, các thư viện khác nhau trong Python cung cấp các phương thức và biến khác nhau mà chúng ta truy cập bằng cách sử dụng nhập đơn giản. Ví dụ, thư viện toán học. Nếu chúng tôi muốn sử dụng biến PI, chúng tôi sử dụng nhập khẩu nhập khẩu và sau đó là Math.pi.

    Để nhập các biến từ một tệp khác, chúng tôi phải nhập tệp đó từ chương trình hiện tại. Điều này sẽ cung cấp quyền truy cập vào tất cả các phương thức và biến có sẵn trong tệp đó.

    Tuyên bố từ nhập khẩu

    Python từ câu lệnh cho phép bạn nhập các thuộc tính cụ thể từ một mô -đun. & NBSP;

    Lưu ý: Để biết thêm thông tin, hãy tham khảo các mô -đun PythonFor more information, refer Python Modules

    Các cách tiếp cận khác nhau để nhập các biến từ tệp khácapproaches to import variables from other file

    • Nhập và sau đó sử dụng. để truy cập biến
    • từ nhập và sử dụng các biến
    • từ nhập * và sau đó sử dụng các biến trực tiếp.

    Example:

    Giả sử chúng ta có một tệp có tên là hoán đổi. Chúng tôi phải nhập biến X và Y từ tệp này trong một tệp khác có tên là Cal Calval.py. & NBSP;

    Python3

    my_variable = 1    # something immutable this time
    
    5
    my_variable = 1    # something immutable this time
    
    6
    my_variable = 1    # something immutable this time
    
    7

    my_variable = 1    # something immutable this time
    
    8
    my_variable = 1    # something immutable this time
    
    6
    import fileB
    fileB.my_variable = 2   # change the value in fileB's namespace
    
    0

    import fileB
    fileB.my_variable = 2   # change the value in fileB's namespace
    
    1
    import fileB
    fileB.my_variable = 2   # change the value in fileB's namespace
    
    2

    import fileB
    fileB.my_variable = 2   # change the value in fileB's namespace
    
    3
    import fileB
    fileB.my_variable = 2   # change the value in fileB's namespace
    
    4
    my_variable = 1    # something immutable this time
    
    6
    import fileB
    fileB.my_variable = 2   # change the value in fileB's namespace
    
    6

    import fileB
    fileB.my_variable = 2   # change the value in fileB's namespace
    
    3
    import fileB
    fileB.my_variable = 2   # change the value in fileB's namespace
    
    8
    import fileB
    fileB.my_variable = 2   # change the value in fileB's namespace
    
    9

    Bây giờ, hãy tạo tệp Python thứ hai để gọi biến từ mã trên:

    Python3

    x value:  23 y value: 30
    x value:  30 y value: 23
    0
    x value:  23 y value: 30
    x value:  30 y value: 23
    1

    x value:  23 y value: 30
    x value:  30 y value: 23
    2
    my_variable = 1    # something immutable this time
    
    6
    x value:  23 y value: 30
    x value:  30 y value: 23
    4

    x value:  23 y value: 30
    x value:  30 y value: 23
    5
    my_variable = 1    # something immutable this time
    
    6
    x value:  23 y value: 30
    x value:  30 y value: 23
    7

    x value:  23 y value: 30
    x value:  30 y value: 23
    8
    x value:  23 y value: 30
    x value:  30 y value: 23
    9fileA0fileA1fileA2fileA3

    fileA4

    my_variable = 1    # something immutable this time
    
    6 fileA6

    x value:  23 y value: 30
    x value:  30 y value: 23
    8
    x value:  23 y value: 30
    x value:  30 y value: 23
    9fileA0fileB.my_variable0fileA2fileB.my_variable2

    Output:

    x value:  23 y value: 30
    x value:  30 y value: 23

    Làm thế nào để bạn thay đổi một giá trị biến trong một tệp khác trong Python?

    Một cách phổ biến để làm điều này là đặt các giá trị vào một từ điển, danh sách hoặc thậm chí trong một lớp [hoặc một ví dụ có thể thay đổi của một]. Sau đó, bạn có thể nhập đối tượng container và biến đổi nó để thay đổi giá trị bạn quan tâm.put values into a dictionary, list or even in a class [or a mutable instance of one]. Then you can import the container object and mutate it to change the value you care about.

    Bạn có thể thay đổi một biến trong Python không?

    Một số giá trị trong Python có thể được sửa đổi, và một số không thể.Điều này không bao giờ có nghĩa là chúng ta không thể thay đổi giá trị của một biến - nhưng nếu một biến chứa một giá trị của một loại bất biến, chúng ta chỉ có thể gán cho nó một giá trị mới.Chúng ta không thể thay đổi giá trị hiện có theo bất kỳ cách nào.. This does not ever mean that we can't change the value of a variable – but if a variable contains a value of an immutable type, we can only assign it a new value. We cannot alter the existing value in any way.

    Làm thế nào để bạn viết một biến vào một tệp trong Python?

    Cách viết một biến vào một tệp trong Python..
    a_dictionary = {"A": 1, "B": 2}.
    File = Open ["Sample.txt", "W"].
    str_dictionary = repr [a_dictionary].
    tập tin.Write ["a_dictionary =" + str_dictionary + "\ n"] "\ n" Tạo dòng mới cho tệp ghi vào tiếp theo ..
    tập tin.gần[].

    Bài Viết Liên Quan

    Chủ Đề