Sếp của bạn tại Học viện Finxter đã yêu cầu bạn tạo năm [5] lời chào đăng nhập tùy chỉnh cho người dùng của họ. Để giữ cho mã của bạn sạch sẽ, bạn đã quyết định đặt các hàm này vào một tệp Python mới,
from greetings import greeting_am today = datetime.datetime.now[] if [today.hour >= 1 and today.hour < 12]: from greetings import greeting_am print[greeting_am['cdriver']]9
💡 Lưu ý. Đối với bài viết này, chúng tôi sẽ làm việc với người dùng hư cấu của Học viện Finxter, cdriver
Nội dung chào hỏi. tập tin py
def greeting_am[user]: return f"Good Morning {user}." def greeting_lunch[user]: return f"Enjoy Lunch {user}." def greeting_break[]: return f"You need a break." def greeting_aft[user]: return f"Good Afternoon {user}." def greeting_pm[user]: return f"Good Evening {user}."
💬 câu hỏi. Làm cách nào chúng ta viết mã Python để nhập tập lệnh Python vào tập lệnh Python khác?
Chúng ta có thể hoàn thành nhiệm vụ này bằng một trong các tùy chọn sau
- Phương pháp 1. Nhập một Hàm đơn từ một tệp Python khác
- Phương pháp 2. Nhập 2 Hàm từ một tệp Python khác
- Phương pháp 3. Nhập tất cả các chức năng từ một tệp Python khác
- Phương pháp 4. Sử dụng
import datetime
0 để đọc trong một tệp Python khác - Tập lệnh thưởng
Sự chuẩn bị
Thêm đoạn mã sau vào đầu mỗi đoạn mã. Đoạn mã này sẽ cho phép mã trong bài viết này chạy không có lỗi
import datetime
Phương pháp 1. Nhập một hàm từ một tệp Python khác
Nếu người dùng Finxter đăng nhập trong phạm vi đã nêu [_______41], mã này giả định rằng trời đã sáng và thông báo
import datetime0 sẽ hiển thị
from greetings import greeting_am today = datetime.datetime.now[] if [today.hour >= 1 and today.hour < 12]: from greetings import greeting_am print[greeting_am['cdriver']]
Mã này truy xuất ngày hiện tại bằng cách sử dụng
import datetime1 và lưu nó vào
import datetime2
Tiếp theo, câu lệnh
import datetime3 truy xuất giờ hiện tại [
import datetime4]. Nếu giá trị này nằm trong phạm vi đã nêu, thì một [1] hàm được gọi từ
from greetings import greeting_am today = datetime.datetime.now[] if [today.hour >= 1 and today.hour < 12]: from greetings import greeting_am print[greeting_am['cdriver']]9.
import datetime0 và thực hiện
Kết quả được xuất ra thiết bị đầu cuối
đầu ra
Chào buổi sáng cdriverPhương pháp 2. Nhập hai hàm từ một tệp Python khác
Nếu người dùng Finxter đăng nhập trong phạm vi đã nêu
import datetime7, mã này giả định rằng đó là giờ ăn trưa của người dùng và hiển thị thông báo
import datetime8 và
import datetime9
import datetime2
Mã này truy xuất ngày hiện tại bằng cách sử dụng
import datetime1 và lưu nó vào
import datetime2
Tiếp theo, câu lệnh
import datetime3 truy xuất giờ hiện tại [
import datetime4]. Nếu giá trị này nằm trong phạm vi đã nêu, hai [2] hàm được gọi từ
from greetings import greeting_am today = datetime.datetime.now[] if [today.hour >= 1 and today.hour < 12]: from greetings import greeting_am print[greeting_am['cdriver']]9.
import datetime8 và
from greetings import greeting_am today = datetime.datetime.now[] if [today.hour >= 1 and today.hour < 12]: from greetings import greeting_am print[greeting_am['cdriver']]6, và thực hiện
Kết quả được xuất ra thiết bị đầu cuối
đầu ra
Thưởng thức bữa trưa cdriver.Bạn cần nghỉ ngơi.
💡 Lưu ý. Nếu mã của bạn chỉ yêu cầu một vài hàm từ tệp Python bên ngoài, thì tốt nhất bạn chỉ nên gọi những hàm bạn cần
Phương pháp 3. Nhập tất cả các chức năng từ một tệp Python khác
Nếu người dùng Finxter đăng nhập trong phạm vi đã nêu
from greetings import greeting_am today = datetime.datetime.now[] if [today.hour >= 1 and today.hour < 12]: from greetings import greeting_am print[greeting_am['cdriver']]7, mã này giả định rằng đó là buổi chiều và hiển thị thông báo
from greetings import greeting_am today = datetime.datetime.now[] if [today.hour >= 1 and today.hour < 12]: from greetings import greeting_am print[greeting_am['cdriver']]8
import datetime1
Mã này truy xuất ngày hiện tại bằng cách sử dụng
import datetime1 và lưu nó vào
import datetime2
Tiếp theo, câu lệnh
import datetime3 truy xuất giờ hiện tại [
import datetime4]. Nếu giá trị này nằm trong phạm vi đã nêu, toàn bộ nội dung của
from greetings import greeting_am today = datetime.datetime.now[] if [today.hour >= 1 and today.hour < 12]: from greetings import greeting_am print[greeting_am['cdriver']]9 được gọi trong [
import datetime24] và
from greetings import greeting_am today = datetime.datetime.now[] if [today.hour >= 1 and today.hour < 12]: from greetings import greeting_am print[greeting_am['cdriver']]8 thực thi
Kết quả được xuất ra thiết bị đầu cuối
đầu ra
chào buổi chiều cdriverPhương pháp 4. Sử dụng read[] để nhập một tệp Python khác
Nếu người dùng Finxter đăng nhập trong phạm vi đã nêu
import datetime26, mã này giả định rằng đó là buổi tối và hiển thị thông báo
import datetime27
from greetings import greeting_am today = datetime.datetime.now[] if [today.hour >= 1 and today.hour < 12]: from greetings import greeting_am print[greeting_am['cdriver']]0
Mã này truy xuất ngày hiện tại bằng cách sử dụng
import datetime1 và lưu nó vào
import datetime2
Sau đó, câu lệnh if truy xuất giờ hiện tại [______ 14]. Nếu giá trị này nằm trong phạm vi đã nêu, thì toàn bộ nội dung của
from greetings import greeting_am today = datetime.datetime.now[] if [today.hour >= 1 and today.hour < 12]: from greetings import greeting_am print[greeting_am['cdriver']]9 được đọc trong [
import datetime12], cho phép truy cập vào tất cả nội dung của tệp này. Đối với ví dụ này,
import datetime27 thực thi
Cuối cùng, chúng tôi thực thi tệp bằng cách sử dụng [nguy hiểm. ] Hàm
import datetime14
🌍 Tìm hiểu thêm. Python exec[] — Hướng dẫn dành cho hacker về một chức năng nguy hiểm
Hàm
import datetime15 của Python thực thi mã Python mà bạn truyền dưới dạng một chuỗi hoặc đối số đối tượng thực thi
Điều này được gọi là thực thi động bởi vì, trái ngược với mã Python tĩnh thông thường, bạn có thể tạo mã và thực thi nó trong thời gian chạy
Bằng cách này, bạn có thể chạy mã Python được tạo theo chương trình
Python exec[] — Hướng dẫn dành cho hacker về một chức năng nguy hiểm
Xem video này trên YouTube
Kết quả được xuất ra thiết bị đầu cuối
đầu ra
Chào buổi tối tài xếTập lệnh thưởng
Làm việc với tệp
from greetings import greeting_am today = datetime.datetime.now[] if [today.hour >= 1 and today.hour < 12]: from greetings import greeting_am print[greeting_am['cdriver']]9 và các ví dụ ở trên, mã này hợp lý hóa nó thành một tệp ngắn gọn
from greetings import greeting_am today = datetime.datetime.now[] if [today.hour >= 1 and today.hour < 12]: from greetings import greeting_am print[greeting_am['cdriver']]8
⚡Thử thách Finxter. Sửa đổi lời chào. tập tin py
Tóm lược
Năm [5] phương pháp nhập tập lệnh Python vào một tệp Python khác sẽ cung cấp cho bạn đủ thông tin để chọn phương pháp tốt nhất cho yêu cầu viết mã của bạn