Lấy biến từ file python

Các biến được tạo bên ngoài hàm (như trong tất cả các ví dụ ở trên) được gọi là biến toàn cục

Mọi người đều có thể sử dụng biến toàn cục, cả bên trong và bên ngoài hàm

Thí dụ

Tạo một biến bên ngoài một hàm và sử dụng nó bên trong hàm

x = "tuyệt vời"

def myfunc()
print("Trăn là " + x)

myfunc()

Tự mình thử »

Nếu bạn tạo một biến có cùng tên bên trong một hàm, biến này sẽ là cục bộ và chỉ có thể được sử dụng bên trong hàm. Biến toàn cục có cùng tên sẽ vẫn như cũ, toàn cầu và với giá trị ban đầu

Thí dụ

Tạo một biến bên trong một hàm, có cùng tên với biến toàn cục

x = "tuyệt vời"

def myfunc()
x = "tuyệt vời"
print("Trăn là " + x)

myfunc()

print("Trăn là " + x)

Tự mình thử »



Từ khóa toàn cầu

Thông thường, khi bạn tạo một biến bên trong một hàm, biến đó là cục bộ và chỉ có thể được sử dụng bên trong hàm đó

Để tạo một biến toàn cục bên trong một hàm, bạn có thể sử dụng từ khóa global

Thí dụ

Nếu bạn sử dụng từ khóa global, biến thuộc phạm vi toàn cục

def myfunc()
toàn cầu x
x = "tuyệt vời"

myfunc()

print("Trăn là " + x)

Tự mình thử »

Ngoài ra, hãy sử dụng từ khóa global nếu bạn muốn thay đổi một biến toàn cục bên trong một hàm

Thí dụ

Để thay đổi giá trị của một biến toàn cục bên trong một hàm, hãy tham chiếu đến biến đó bằng cách sử dụng từ khóa global

Xử lý tệp là một khái niệm quan trọng của lập trình. Python cho phép chúng tôi đọc và ghi nội dung vào một tệp bên ngoài

Trong bài viết này, chúng ta sẽ thảo luận về một số cách để ghi biến vào tệp trong Python

Mục lục

Đầu tiên, chúng ta hãy thảo luận về những điều cơ bản của việc xử lý tệp và cách ghi dữ liệu vào một tệp vì điều này sẽ phổ biến với tất cả các phương thức
  • Để ghi dữ liệu vào tệp bên ngoài, trước tiên chúng ta mở tệp được yêu cầu bằng hàm open(). Điều này tạo đối tượng tệp được liên kết với tệp được yêu cầu
  • Chúng ta cần mở nó ở chế độ ghi, vì vậy cần chỉ định chế độ là w trong hàm open()
  • Chúng tôi cũng có thể thêm loại tệp bằng cách sử dụng tb trong khi chỉ định chế độ. Ở đây, t chỉ ra một tệp văn bản và b chỉ ra một tệp nhị phân
  • Để ghi nội dung vào tệp này, chúng ta sẽ sử dụng hàm write() với đối tượng tệp. Chúng tôi chuyển nội dung dưới dạng một chuỗi
  • Sau khi ghi dữ liệu cần thiết, chúng ta có thể đóng tệp bằng hàm close()
  • Chúng ta có thể tránh chức năng đóng này bằng cách sử dụng câu lệnh with để mở tệp. Câu lệnh with làm cho mã dễ đọc hơn, tránh các ngoại lệ và loại bỏ nhu cầu đóng tệp

Biến là một đối tượng đơn giản chứa dữ liệu trong bộ nhớ và có thể thuộc bất kỳ kiểu nào. Đối với các ví dụ của chúng tôi, chúng tôi sẽ sử dụng một từ điển và ghi từ điển này vào một tệp. Chúng tôi sẽ chuyển đổi từ điển này thành một chuỗi bằng các phương thức khác nhau

Sử dụng hàm w1

Hàm w1 được sử dụng để chuyển một biến thành một chuỗi. Chúng ta có thể sử dụng điều này để chuyển đổi biến từ điển thành một chuỗi và ghi nó vào một tệp

Xem mã dưới đây

1

2

3

4

5

 

d = {'a'. 0,'b'. 1,'c'. 2}

với mở('sample. txt', 'w') as f:

    f. viết('dict = ' + str(d) + '\n')    

 

đầu ra

1

2

3

 

dict = {'a'. 0, 'b'. 1, 'c'. 2}    

 

Hàm w1 trả về chuỗi đại diện của từ điển và chúng tôi ghi nó vào tệp được yêu cầu

đọc thêm

Kiểm tra xem biến có tồn tại trong Python không

Đọc thêm →

In các biến môi trường trong Python

Đọc thêm →

Sử dụng hàm w4

Hàm w4 hoạt động tương tự như phương thức w1 để cung cấp biểu diễn chuỗi của các đối tượng. Tuy nhiên, nó rõ ràng và thường được sử dụng cho các quy trình phát triển và gỡ lỗi. Nó đưa ra biểu diễn chính xác của đối tượng và không nhằm mục đích làm cho nó có thể đọc được, như trường hợp của hàm w1

Đối với mục đích của chúng tôi, mặc dù kết quả là như nhau, nhưng thông thường nên sử dụng phương pháp này trên hàm w1

Ví dụ,

1

2

3

4

5

 

d = {'a'. 0,'b'. 1,'c'. 2}

với mở('sample. txt', 'w') as f:

    f. viết('dict = ' + repr(d) + '\n')    

 

đầu ra

1

2

3

 

dict = {'a'. 0, 'b'. 1, 'c'. 2}        

 

Sử dụng định dạng chuỗi

Chúng ta cũng có thể sử dụng định dạng chuỗi để chuyển biến từ điển thành chuỗi trước khi ghi vào tệp. Định dạng w9 có thể được sử dụng để thực hiện chuyển đổi này

Xem ví dụ sau

1

2

3

4

5

 

d = {'a'. 0,'b'. 1,'c'. 2}

với mở('sample. txt', 'w') as f:

    f. ghi("%s = %s\n" %("dict", d))    

 

đầu ra

1

2

3

 

dict = {'a'. 0, 'b'. 1, 'c'. 2}        

 

Sử dụng hàm open()0

Pickling là một cách để tuần tự hóa và hủy tuần tự hóa các đối tượng. Trong Python, chúng ta có thể sử dụng mô-đun open()1 để chuyển đổi các đối tượng thành luồng byte bằng cách sử dụng hàm open()2

Chúng ta có thể sử dụng phương thức này để ghi biến vào tệp trong Python. Vì nó chuyển đổi các đối tượng thành luồng byte, nên chúng ta cần mở tệp ở chế độ open()3, chế độ này cho biết chế độ ghi trong tệp nhị phân. Chúng ta sẽ sử dụng hàm open()2 này thay cho hàm write(). Chúng ta cần chỉ định đối tượng tệp và biến được ghi trong tệp này làm đối số trong hàm open()2

Ví dụ,

1

2

3

4

5

6

 

nhập dưa chua

d = {'a'. 0,'b'. 1,'c'. 2}

với mở('sample. txt', 'wb') as f:

    dưa chua. kết xuất(d,f)    

 

Ví dụ trên sẽ ghi từ điển open()7 vào tệp open()8 dưới dạng byte. Do đó, nếu bạn mở tệp văn bản, bạn sẽ tìm thấy một chuỗi ký tự byte. Để xác minh nội dung của tệp, chúng ta có thể đọc nó bằng cách sử dụng đối tượng open()9. Chúng tôi cần mở tệp ở chế độ t0, cho biết chế độ đọc trong tệp nhị phân

Chúng tôi sẽ đọc nội dung của tệp này trong đoạn mã sau

1

2

3

4

5

6

 

nhập dưa chua

d = {'a'. 0,'b'. 1,'c'. 2}

với mở('sample. txt', 'rb') as f:

    in(dưa chua. tải(f))    

 

đầu ra

{'một'. 0, 'b'. 1, 'c'. 2}

Lưu ý rằng không nên đọc dữ liệu ngâm từ các nguồn không xác định. Điều này là do chúng có thể chứa phần mềm độc hại hoặc mã độc

Sử dụng hàm t1

Bạn cũng có thể sử dụng thư viện numpy để ghi biến danh sách vào tệp trong Python. Chúng tôi sẽ tạo danh sách và lưu danh sách vào tệp văn bản có tên 'mẫu. txt'

1

2

3

4

5

6

7

8

 

nhập numpy as np

d = [10,20,30,40,50]

 

np. savetxt('sample. txt',d)

 

in(mở("sample. txt"). đọc())

 

đầu ra

1. 000000000000000000e+01
2. 000000000000000000e+01
3. 000000000000000000e+01
4. 000000000000000000e+01
5. 000000000000000000e+01

Bây giờ trong bài viết này, chúng ta đã thảo luận về các phương pháp khác nhau về cách ghi một biến vào tệp. Chúng tôi đã làm việc với các ví dụ xử lý tệp và từ điển, nhưng đối với các đối tượng khác, có thể có các phương thức đơn giản hơn

Ví dụ, đối với mảng t2, chúng ta có thể sử dụng hàm t3 để xuất mảng thành tệp văn bản. Vì vậy, hãy nhớ rằng có thể có các phương pháp khác, nhưng nó phụ thuộc vào loại biến