Tôi muốn thực thi một tập lệnh work.py
bằng Python, sau khi thực hiện một số tập lệnh khởi tạo init.py
.Kịch bản khởi động Python
Nếu tôi đang tìm kiếm một phiên tương tác, thực hiện python -i init.py
hoặc đặt PYTHONSTARTUP=/path/to/init.py
sẽ thực hiện thủ thuật, nhưng tôi đang tìm cách thực thi một tập lệnh khác.
Vì đây là trường hợp chung thường xảy ra (init.py
đặt môi trường và vì vậy cũng như nhau), tôi rất muốn không tham chiếu init.py
từ work.py
. Làm thế nào điều này có thể được thực hiện? Có gì thay đổi nếu tôi cần điều này từ một kịch bản thay vì từ dấu nhắc không?
Cảm ơn bạn rất nhiều.
'work' phụ thuộc vào' init' như thế nào? Bạn có thể chỉ cần nhập 'python -c 'init; nhập khẩu work''? - hoặc có lẽ kém thanh lịch hơn, 'python -c 'execfile (" init.py "); execfile ("work.py") '' – mgilson
' work' cần 'init' được thực thi trước nó. Những gì bạn đang đề xuất có thể làm việc (sẽ thử nó ngay bây giờ) nhưng nó hầu như không lý tưởng - Tôi cần một cái gì đó như thế này mỗi khi tôi chạy một kịch bản python. Tôi có thể bí danh hoặc tạo lệnh trình bao để tham chiếu nó theo cách thông thường, ví dụ: 'py work.py' trong đó' py() 'sẽ là một lệnh shell được định nghĩa, nhưng điều đó sẽ gây ra các vấn đề khác. Tôi muốn một cách sạch sẽ luôn luôn thực hiện cùng một init script nếu có ... – gt6989b
Vì vậy, (chỉ để được rõ ràng), bạn muốn xác định toàn cầu một kịch bản ('init.py') được gọi là trước bất cứ điều gì khác khi khởi động python như thể bạn đang làm một cái gì đó như 'cat init.py main.py | python' hoàn toàn độc lập với tập tin 'main.py' thực sự là gì? – mgilson