Tôi đang sử dụng input
chức năng từ fileinput
module để chấp nhận kịch bản qua pipes
hoặc input file
Đây là kịch bản tối thiểu:Tại sao lệnh nhập không thể tìm thấy?
finput.py
import fileinput
with fileinput.input() as f:
for line in f:
print(line)
Sau khi thực hiện kịch bản thực thi này, tôi chạy ls | ./finput.py
và nhận được unexpected error message
./finput.py: line 1: import: command not found
./finput.py: line 3: syntax error near unexpected token `('
./finput.py: line 3: `with fileinput.input() as f:'
Sửa lỗi duy nhất tôi tìm thấy là khi tôi thêm #!/usr/bin/env/python3
trước câu lệnh nhập.
Nhưng vấn đề này dường như chỉ liên quan đến mô-đun fileinput
. Kể từ khi kịch bản sau đây làm việc tốt mà không có một shebang
:
fruit.py
import random
fruits = ["mango", "ananas", "apple"]
print(random.choice(fruits))
Bây giờ những gì tôi bị mất? Tại sao không thể tìm thấy lệnh import
vì số shebang
không phải là yêu cầu trong finput.py
?
Bạn cũng có thể chạy theo cách này: 'python finput.py' – anilbey