này hoạt động trong Python 3.3.2 ShellTại sao điều này làm việc trong vỏ IDLE Python nhưng không phải khi tôi chạy nó như là một kịch bản Python từ dấu nhắc lệnh?
Bên trong Python 3.3.2 Shell
>>> import datetime
>>> print(datetime.datetime.utcnow())
2013-07-09 19:40:32.532341
Đó là tuyệt vời! sau đó tôi đã viết một tập tin văn bản đơn giản có tên là "datetime.py"
Bên Datetime.py
#Date time
import datetime
print(datetime.datetime.utcnow())
#Prints GMT, which is named Universal Coordinated Time
# Which is UTC because in French it's something like
# Universahl Tyme Coordinatay
#Outputs something like 2013-07-09 15:15:19.695531
Chứng minh rằng tập tin tồn tại
C:\Python33\myscripts>ls
__pycache__ ex1.out ex2.out ex3.py helloworld.py read1.py
datetime.py ex1.py ex2.py first.py pythonintoimportexport.py test.py
Đây là nơi nó được bí ẩn!
C:\Python33\myscripts>python datetime.py
Traceback (most recent call last):
File "datetime.py", line 2, in <module>
import datetime
File "C:\Python33\myscripts\datetime.py", line 3, in <module>
print(datetime.datetime.utcnow())
AttributeError: 'module' object has no attribute 'utcnow'
Câu hỏi
Tại sao công việc cùng một mã trong Python Shell, nhưng không phải khi chạy như một kịch bản?
Hãy thử thay đổi tên tệp của bạn thành tên khác. –
* Không bao giờ * sử dụng tên được tích hợp sẵn. Điều này đúng đối với cả hai tên tệp nhưng cũng cho tên lớp/hàm/tên định danh. Như bạn đã trải qua không theo lời khuyên này * sẽ * tạo ra vấn đề. – Bakuriu