Tôi muốn sử dụng mã sau đây để xác định xem một đường dẫn có tồn tại không. Đường dẫn tôi muốn kiểm tra đang được chuyển đến mã của tôi thông qua tham số trên hộp thoại công cụ ArcMap 10.0. Kiểu dữ liệu tham số là thư mục, đường dẫn thư mục này đang được chuyển đến sys.argv [2] trong mã của tôi dưới đây.
{import sys
import os
if os.path.exists("%s"): %(sys.argv[2])
pass
else:
#Do Something Magical}
Thông thường tôi sẽ không gặp vấn đề gì với tập lệnh này nếu tôi nói rõ đường dẫn thư mục. Ví dụ, bất kỳ một trong ba điều sau đây hoạt động tốt và làm những gì tôi cần:
os.path.exists("C:\\Data\\Hardwar\\Folder"):
os.path.exists(r"C:\Data\Hardwar\Folder"):
os.path.exists("C:/Data/Hardwar/Folder"):
Trong đoạn mã trước, điều tôi tìm thấy là đường dẫn tức là ( C:\Data\Hardwar\Folder
) đang được truyền từ tham số của tôi đến sys.argv [2] chữ cái đầu tiên sau \ đang được thoát và đúng như vậy.
Làm cách nào để định dạng đường dẫn trong sys.argv [2] thành định dạng đường dẫn có thể chấp nhận của python?
arcpy.GetParameterAsText(1)
thay vì sys.argv[2]
?
arcpy.exists()
lệnh có thể chơi độc đáo hơn với tên tệp và thư mục lẻ hơnos.path.exists
.