Cách gọi một tệp python khác trong python

Xin chào,

Để gọi một tập lệnh python từ một Tập lệnh Python khác

Bước 1. Đặt các tập lệnh Python trong cùng một thư mục

Để bắt đầu, bạn cần đặt các tập lệnh Python của mình vào cùng một thư mục

Ví dụ: tôi đã đặt hai tập lệnh Python [được gọi là python_1 và python_2] trong cùng một thư mục như bên dưới

Mục tiêu cuối cùng là chạy tập lệnh python_2 từ tập lệnh python_1

Bước 2. Thêm cú pháp

Tiếp theo, thêm cú pháp vào từng tập lệnh của bạn

Chẳng hạn, tôi đã thêm cú pháp sau vào tập lệnh python_1

import python_2

print ['what are you up to?']

Ở đâu

  • Dòng đầu tiên của "nhập python_2" trong tập lệnh python_1, sẽ gọi tập lệnh python_2 thứ hai. Bất cứ khi nào bạn muốn chạy một tập lệnh Python từ một tập lệnh khác, bạn sẽ cần nhập tên chính xác của tập lệnh Python mà bạn muốn gọi
  • Phần thứ hai của mã chỉ in biểu thức 'bạn định làm gì?'

Bây giờ, hãy thêm cú pháp vào tập lệnh python_2

print ['hello world']

Trong trường hợp này, biểu thức 'hello world' sẽ được in khi chạy tập lệnh thứ hai

Lưu ý rằng trước tiên bạn phải lưu cú pháp đã được lưu trong tập lệnh python_2 trước khi gọi nó từ một tập lệnh khác

Bước 3. Chạy một tập lệnh Python từ một tập lệnh khác

Bây giờ, bạn sẽ cần chạy tập lệnh từ hộp python_1 để gọi tập lệnh thứ hai

Lưu ý rằng kết quả của tập lệnh python_2 sẽ được hiển thị trước và chỉ sau đó kết quả của tập lệnh python_1 mới được hiển thị

Có rất nhiều cách để chúng ta có thể chạy tập lệnh python. Trong hướng dẫn này, chúng ta sẽ xem xét các cách đơn giản và thường được sử dụng nhất. Hãy bắt đầu mà không cần phải quảng cáo thêm

Các cách khác nhau để chúng ta có thể chạy tập lệnh python như sau

  • Chạy tập lệnh python tương tác
  • Chạy tập lệnh python như. tập tin py
  • Chạy tập lệnh python từ IDE

Chạy tập lệnh python tương tác

Sau khi quá trình cài đặt hoàn tất trên hệ thống của bạn, bước tiếp theo là mở terminal [Đối với Mac/Linux] hoặc dấu nhắc Lệnh [Đối với Windows]. Nếu bạn đã cài đặt Anaconda, Anaconda navigator là sự lựa chọn tốt nhất.
Sau đó, Nhập lệnh sau.

D:\YourName\Projects\Python>
0

Điều này sẽ mở ra một phiên tương tác như dưới đây. Bạn có thể dễ dàng sử dụng bất kỳ chức năng python nào và nhấn enter sau khi hoàn tất. Đầu ra sẽ hiển thị ngay bên dưới

Bạn có thể thoát khỏi shell tương tác bằng cách sử dụng hàm quit[] hoặc hàm exit[]

Chạy tập lệnh python như. tập tin py

Một cách phổ biến khác để chạy tập lệnh python là chạy chúng dưới dạng. tập tin py. Lệnh chạy tệp python khá đơn giản

D:\YourName\Projects\Python>
1

Để làm điều đó, bạn phải tạo một tệp có '. py' ở bất cứ đâu trong máy tính của bạn. Ví dụ: hãy xem xét một tệp có tên 'mẫu. py' được lưu trữ trong E. Thư mục \ProjectPro trên máy windows chứa mã python cần thiết

Bây giờ nếu chúng ta mở dấu nhắc Anaconda trên máy windows, đường dẫn mặc định sẽ là C. \Users\Tên người dùng. Đây rõ ràng không phải là thư mục mà chúng tôi đã lưu trữ mẫu của mình. tập tin py. Trong trường hợp đó, tôi có thể chạy lệnh sau

D:\YourName\Projects\Python>
2

Nếu dấu nhắc thiết bị đầu cuối/dấu nhắc lệnh/dấu nhắc anaconda được mở trong cùng thư mục, bạn chỉ cần thay thế đường dẫn tệp bằng tên tệp như được hiển thị bên dưới

D:\YourName\Projects\Python>
3

Chạy tập lệnh python từ IDE

Ngày nay, có rất nhiều IDE thân thiện với python cung cấp cách dễ dàng để chạy các tệp python. IDLE mặc định do Python cung cấp trong quá trình cài đặt là Shell tương tác theo mặc định

Chúng tôi cũng có thể chạy tập lệnh python từ bên trong IDLE bằng cách nhấp vào Tệp > Tệp mới từ menu. Thao tác này sẽ mở một tệp python đơn giản và chúng ta có thể dễ dàng chạy tệp python này bằng cách nhấn Run > Run Module từ menu trên cùng hoặc chỉ bằng cách nhấn F5 trên bàn phím

Đây không nhất thiết là một câu hỏi đơn giản. Nếu bạn đã quen với việc chạy các chương trình từ dòng lệnh Windows thì mọi thứ sẽ có vẻ rõ ràng;

Trừ khi bạn sử dụng một số loại môi trường phát triển tích hợp, nếu không thì cuối cùng bạn sẽ nhập các lệnh của Windows vào cái được gọi là “Cửa sổ nhắc lệnh”. Thông thường, bạn có thể tạo một cửa sổ như vậy từ thanh tìm kiếm của mình bằng cách tìm kiếm

D:\YourName\Projects\Python>
1. Bạn sẽ có thể nhận ra khi nào bạn đã khởi động một cửa sổ như vậy vì bạn sẽ thấy một “dấu nhắc lệnh” của Windows, thường giống như thế này

C:\>

Bức thư có thể khác và có thể có những thứ khác sau nó, vì vậy bạn có thể dễ dàng nhìn thấy một cái gì đó như

D:\YourName\Projects\Python>

tùy thuộc vào cách máy tính của bạn đã được thiết lập và những gì bạn đã làm gần đây với nó. Khi bạn đã bắt đầu một cửa sổ như vậy, bạn đã sẵn sàng để chạy các chương trình Python

Bạn cần nhận ra rằng các tập lệnh Python của bạn phải được xử lý bởi một chương trình khác có tên là trình thông dịch Python. Trình thông dịch đọc tập lệnh của bạn, biên dịch nó thành mã byte, sau đó thực thi mã byte để chạy chương trình của bạn. Vì vậy, làm thế nào để bạn sắp xếp trình thông dịch xử lý Python của bạn?

Trước tiên, bạn cần đảm bảo rằng cửa sổ lệnh của bạn nhận ra từ “py” là hướng dẫn để khởi động trình thông dịch. Nếu bạn đã mở một cửa sổ lệnh, bạn nên thử nhập lệnh

D:\YourName\Projects\Python>
2 và nhấn return

C:\Users\YourName> py

Sau đó, bạn sẽ thấy một cái gì đó như

Python 3.6.4 [v3.6.4:d48eceb, Dec 19 2017, 06:04:45] [MSC v.1900 32 bit [Intel]] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

Bạn đã khởi động trình thông dịch ở “chế độ tương tác”. Điều đó có nghĩa là bạn có thể nhập các câu lệnh hoặc biểu thức Python một cách tương tác và để chúng được thực thi hoặc đánh giá trong khi chờ đợi. Đây là một trong những tính năng mạnh nhất của Python. Kiểm tra nó bằng cách nhập một vài biểu thức bạn chọn và xem kết quả

________số 8

Nhiều người sử dụng chế độ tương tác như một máy tính tiện lợi nhưng có khả năng lập trình cao. Khi bạn muốn kết thúc phiên Python tương tác của mình, hãy gọi hàm hoặc giữ phím Ctrl trong khi nhập Z, sau đó nhấn phím “Enter” để quay lại dấu nhắc lệnh Windows của bạn

Bạn cũng có thể thấy rằng mình có một mục trong menu Bắt đầu, chẳng hạn như Bắt đầu ‣ Chương trình ‣ Python 3. x ‣ Python [dòng lệnh] dẫn đến việc bạn nhìn thấy lời nhắc

D:\YourName\Projects\Python>
4 trong một cửa sổ mới. Nếu vậy, cửa sổ sẽ biến mất sau khi bạn gọi hàm hoặc nhập ký tự Ctrl-Z; .

Bây giờ chúng ta biết lệnh

D:\YourName\Projects\Python>
2 đã được nhận dạng, bạn có thể cung cấp tập lệnh Python của mình cho lệnh đó. Bạn sẽ phải cung cấp đường dẫn tuyệt đối hoặc tương đối cho tập lệnh Python. Giả sử tập lệnh Python của bạn nằm trong màn hình của bạn và được đặt tên là
D:\YourName\Projects\Python>
7 và dấu nhắc lệnh của bạn được mở độc đáo trong thư mục chính của bạn, vì vậy bạn sẽ thấy một cái gì đó tương tự như

print ['hello world']
2

Vì vậy, bây giờ bạn sẽ yêu cầu lệnh

D:\YourName\Projects\Python>
2 cung cấp tập lệnh của bạn cho Python bằng cách nhập
D:\YourName\Projects\Python>
2, sau đó là đường dẫn tập lệnh của bạn

print ['hello world']
5

Trên Windows, trình cài đặt Python tiêu chuẩn đã liên kết. phần mở rộng py với một loại tệp [Python. File] và cung cấp cho loại tệp đó một lệnh mở để chạy trình thông dịch [

C:\Users\YourName> py
0]. Điều này là đủ để làm cho các tập lệnh có thể thực thi được từ dấu nhắc lệnh dưới dạng 'foo. py'. Nếu bạn muốn có thể thực thi tập lệnh bằng cách gõ đơn giản 'foo' mà không cần phần mở rộng, bạn cần thêm. py vào biến môi trường PATHEXT

Thông thường Python khởi động rất nhanh trên Windows, nhưng thỉnh thoảng có báo cáo lỗi Python đột nhiên khởi động rất lâu. Điều này thậm chí còn khó hiểu hơn vì Python sẽ hoạt động tốt trên các hệ thống Windows khác có vẻ như được cấu hình giống hệt nhau

Sự cố có thể do cấu hình sai của phần mềm kiểm tra vi-rút trên máy gặp sự cố. Một số trình quét vi-rút đã được biết là giới thiệu chi phí khởi động ở hai bậc độ lớn khi trình quét được định cấu hình để giám sát tất cả các lần đọc từ hệ thống tệp. Hãy thử kiểm tra cấu hình của phần mềm quét vi-rút trên hệ thống của bạn để đảm bảo rằng chúng thực sự được cấu hình giống hệt nhau. McAfee, khi được định cấu hình để quét tất cả hoạt động đọc của hệ thống tệp, là một kẻ vi phạm cụ thể

Xem danh sách các công cụ có thể được sử dụng để thực thi

Đúng,. các tệp pyd là dll, nhưng có một vài điểm khác biệt. Nếu bạn có một DLL tên là

C:\Users\YourName> py
2, thì nó phải có hàm
C:\Users\YourName> py
3. Sau đó, bạn có thể viết Python "nhập foo" và Python sẽ tìm kiếm foo. pyd [cũng như foo. py, foo. pyc] và nếu nó tìm thấy, nó sẽ cố gắng gọi
C:\Users\YourName> py
3 để khởi tạo nó. Bạn không liên kết của bạn. exe với foo. lib, vì điều đó sẽ khiến Windows yêu cầu phải có DLL

Lưu ý rằng đường dẫn tìm kiếm cho foo. pyd là PYTHONPATH, không giống với đường dẫn mà Windows sử dụng để tìm kiếm foo. dll. Ngoài ra, foo. không cần phải có pyd để chạy chương trình của bạn, trong khi nếu bạn đã liên kết chương trình của mình với một dll, thì dll là bắt buộc. Tất nhiên, foo. pyd là bắt buộc nếu bạn muốn nói

C:\Users\YourName> py
5. Trong một DLL, liên kết được khai báo trong mã nguồn với
C:\Users\YourName> py
6. trong một. pyd, liên kết được xác định trong danh sách các chức năng có sẵn

Nhúng trình thông dịch Python vào ứng dụng Windows có thể được tóm tắt như sau

  1. Không xây dựng Python vào của bạn. tập tin exe trực tiếp. Trên Windows, Python phải là một DLL để xử lý việc nhập các mô-đun mà chính chúng là DLL. [Đây là sự thật không có giấy tờ quan trọng đầu tiên. ] Thay vào đó, hãy liên kết tới

    C:\Users\YourName> py
    
    7; . NN là phiên bản Python, một số chẳng hạn như “33” cho Python 3. 3

    Bạn có thể liên kết với Python theo hai cách khác nhau. Liên kết thời gian tải có nghĩa là liên kết với

    C:\Users\YourName> py
    
    9, trong khi liên kết thời gian chạy có nghĩa là liên kết với
    C:\Users\YourName> py
    
    7. [Ghi chú chung.
    C:\Users\YourName> py
    
    9 được gọi là “lib nhập khẩu” tương ứng với
    C:\Users\YourName> py
    
    7. Nó chỉ định nghĩa các ký hiệu cho trình liên kết. ]

    Liên kết thời gian chạy đơn giản hóa rất nhiều tùy chọn liên kết; . Mã của bạn phải tải

    C:\Users\YourName> py
    
    7 bằng quy trình Windows
    Python 3.6.4 [v3.6.4:d48eceb, Dec 19 2017, 06:04:45] [MSC v.1900 32 bit [Intel]] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>>
    
    4. Mã này cũng phải sử dụng các quy trình truy cập và dữ liệu trong
    C:\Users\YourName> py
    
    7 [nghĩa là API C của Python] bằng cách sử dụng các con trỏ thu được từ quy trình
    Python 3.6.4 [v3.6.4:d48eceb, Dec 19 2017, 06:04:45] [MSC v.1900 32 bit [Intel]] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>>
    
    6 của Windows. Macro có thể làm cho việc sử dụng các con trỏ này trong suốt đối với bất kỳ mã C nào gọi các quy trình trong API C của Python

  2. Nếu bạn sử dụng SWIG, bạn có thể dễ dàng tạo một “mô-đun mở rộng” Python để cung cấp dữ liệu và phương thức của ứng dụng cho Python. SWIG sẽ xử lý tất cả các chi tiết khó chịu cho bạn. Kết quả là mã C mà bạn liên kết vào. tập tin exe [. ] Bạn không phải tạo tệp DLL và điều này cũng đơn giản hóa việc liên kết

  3. SWIG sẽ tạo một hàm init [hàm C] có tên phụ thuộc vào tên của mô-đun mở rộng. Ví dụ: nếu tên của mô-đun là leo, hàm init sẽ được gọi là initleo[]. Nếu bạn sử dụng các lớp bóng tối SWIG, thì hàm init sẽ được gọi là initleoc[]. Điều này khởi tạo một lớp trợ giúp chủ yếu ẩn được sử dụng bởi lớp bóng tối

    Lý do bạn có thể liên kết mã C ở bước 2 với. exe là việc gọi hàm khởi tạo tương đương với việc nhập mô-đun vào Python. [Đây là sự thật quan trọng thứ hai không có giấy tờ. ]

  4. Tóm lại, bạn có thể sử dụng đoạn mã sau để khởi tạo trình thông dịch Python với mô-đun mở rộng của mình

    C:\>
    
    2

  5. Có hai vấn đề với API C của Python sẽ trở nên rõ ràng nếu bạn sử dụng trình biên dịch không phải MSVC, trình biên dịch được sử dụng để xây dựng pythonNN. dll

    vấn đề 1. Cái gọi là hàm “Cấp cao” nhận đối số

    Python 3.6.4 [v3.6.4:d48eceb, Dec 19 2017, 06:04:45] [MSC v.1900 32 bit [Intel]] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>>
    
    7 sẽ không hoạt động trong môi trường nhiều trình biên dịch vì khái niệm của mỗi trình biên dịch về một
    Python 3.6.4 [v3.6.4:d48eceb, Dec 19 2017, 06:04:45] [MSC v.1900 32 bit [Intel]] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>>
    
    8 sẽ khác nhau. Từ quan điểm triển khai, đây là các hàm cấp rất thấp

    vấn đề 2. SWIG tạo mã sau khi tạo trình bao bọc để vô hiệu hóa chức năng

    C:\>
    
    5

    Than ôi, Py_None là một macro mở rộng thành tham chiếu đến cấu trúc dữ liệu phức tạp có tên _Py_NoneStruct bên trong pythonNN. dll. Một lần nữa, mã này sẽ thất bại trong môi trường nhiều trình biên dịch. Thay thế mã đó bằng

    C:\>
    
    6

    Có thể sử dụng lệnh

    Python 3.6.4 [v3.6.4:d48eceb, Dec 19 2017, 06:04:45] [MSC v.1900 32 bit [Intel]] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>>
    
    9 của SWIG để thực hiện thay đổi tự động, mặc dù tôi chưa thể làm cho nó hoạt động được [tôi là một người mới hoàn toàn sử dụng SWIG]

  6. Sử dụng tập lệnh trình bao Python để tạo cửa sổ trình thông dịch Python từ bên trong ứng dụng Windows của bạn không phải là một ý kiến ​​hay; . Thay vào đó, bạn [hoặc lớp wxPythonWindow] nên tạo một cửa sổ thông dịch “gốc”. Thật dễ dàng để kết nối cửa sổ đó với trình thông dịch Python. Bạn có thể chuyển hướng i/o của Python sang đối tượng _any_ hỗ trợ đọc và ghi, vì vậy tất cả những gì bạn cần là một đối tượng Python [được định nghĩa trong mô-đun mở rộng của bạn] có chứa các phương thức read[] và write[]

Câu hỏi thường gặp không khuyến nghị sử dụng tab và hướng dẫn kiểu Python, PEP 8, đề xuất 4 khoảng trắng cho mã Python phân tán;

Dưới bất kỳ trình chỉnh sửa nào, trộn lẫn các tab và dấu cách là một ý tưởng tồi. MSVC không có gì khác biệt về mặt này và được cấu hình dễ dàng để sử dụng khoảng trắng. Chọn Công cụ ‣ Tùy chọn ‣ Tab và đối với loại tệp “Mặc định”, đặt “Kích thước tab” và “Kích thước thụt lề” thành 4 và chọn “Chèn .

Python tăng hoặc nếu các tab và khoảng trắng hỗn hợp đang gây ra sự cố trong khoảng trắng ở đầu. Bạn cũng có thể chạy mô-đun để kiểm tra cây thư mục ở chế độ hàng loạt

sử dụng mô-đun. Đây là mô-đun mở rộng tiêu chuẩn dành riêng cho Windows. Nó định nghĩa một hàm

>>> print["Hello"]
Hello
>>> "Hello" * 3
'HelloHelloHello'
4 kiểm tra xem có gõ bàn phím hay không và
>>> print["Hello"]
Hello
>>> "Hello" * 3
'HelloHelloHello'
5 nhận một ký tự mà không lặp lại ký tự đó

Điều này có thể xảy ra trên Python 3. 5 trở lên khi sử dụng Windows 8. 1 hoặc cũ hơn mà chưa cài đặt tất cả các bản cập nhật. Trước tiên, hãy đảm bảo hệ điều hành của bạn được hỗ trợ và cập nhật, đồng thời nếu điều đó không giải quyết được sự cố, hãy truy cập trang hỗ trợ của Microsoft để được hướng dẫn cài đặt bản cập nhật C Runtime theo cách thủ công

Chủ Đề