Deepanshu thành lập ListenData với một mục tiêu đơn giản - Làm cho các phân tích trở nên dễ hiểu và dễ theo dõi. Ông có hơn 10 năm kinh nghiệm trong lĩnh vực khoa học dữ liệu. Trong nhiệm kỳ của mình, ông đã làm việc với các khách hàng toàn cầu trong nhiều lĩnh vực khác nhau như Ngân hàng, Bảo hiểm, Cổ phần tư nhân, Viễn thông và Nhân sự
Python cung cấp các mô-đun tích hợp và dễ dàng để sao chép tệp từ nguồn đến đích. Mô-đun [với] cũng đảm nhiệm việc đóng luồng tệp một cách nhẹ nhàng và đảm bảo tài nguyên được dọn sạch khi mã sử dụng tài nguyên tệp kết thúc thực thi
Câu lệnh with làm rõ mã mà trước đây sẽ sử dụng try. các khối cuối cùng để đảm bảo quá trình dọn dẹp mã được thực thi
Nhưng trước khi chúng ta bắt đầu, đây là một mẫu đơn giản mà bạn có thể sử dụng để chạy một tập lệnh Python từ một tập lệnh khác [đối với các tập lệnh Python được lưu trữ trong cùng một thư mục]
import script_name_to_call
Các bước để chạy một tập lệnh Python từ một tập lệnh khác
Bước 1. Đặt các tập lệnh Python trong cùng một thư mục
Để bắt đầu, hãy đặt các tập lệnh Python của bạn vào cùng một thư mục
Ví dụ: giả sử rằng hai tập lệnh Python [được gọi là python_1 và python_2] được lưu trữ trong cùng một thư mục
python_1
python_2
Mục tiêu cuối cùng là chạy tập lệnh python_2 từ tập lệnh python_1
Bước 2. Thêm cú pháp
Tiếp theo, thêm cú pháp vào từng tập lệnh của bạn
Chẳng hạn, hãy thêm cú pháp sau vào tập lệnh python_1
import python_2 print['what are you up to?']
Ở đâu
- Dòng đầu tiên của 'nhập python_2' trong tập lệnh python_1, sẽ gọi tập lệnh python_2 thứ hai
- Dòng thứ hai của mã chỉ in biểu thức 'bạn định làm gì?'
Bây giờ hãy thêm cú pháp vào tập lệnh python_2
print['hello world']
Trong trường hợp này, biểu thức 'hello world' sẽ được in khi chạy tập lệnh thứ hai
Lưu ý rằng trước tiên bạn phải lưu cú pháp đã được ghi trong tập lệnh python_2 trước khi gọi nó từ tập lệnh khác
Bước 3. Chạy một tập lệnh Python từ một tập lệnh khác
Bây giờ, bạn sẽ cần chạy tập lệnh từ hộp python_1 để gọi tập lệnh thứ hai
Lưu ý rằng kết quả của tập lệnh python_2 sẽ được hiển thị trước và chỉ sau đó kết quả của tập lệnh python_1 mới được hiển thị
hello world
what are you up to?
Gọi một biến cụ thể từ một tập lệnh Python này sang tập lệnh khác
Bây giờ chúng ta hãy xem cách gọi một biến cụ thể [mà chúng ta sẽ gọi là 'x'] từ tập lệnh python_2 vào tập lệnh python_1
Trong trường hợp đó, bạn sẽ cần chỉnh sửa cú pháp trong tập lệnh python_1 thành như sau
import python_2 as p2 print[p2.x]
Tiếp theo, gán một giá trị [e. g. , 'hello world'] thành biến 'x' trong tập lệnh python_2
x = 'hello world'
Đừng quên lưu các thay đổi trong tập lệnh python_2
Cuối cùng, hãy chạy cú pháp từ tập lệnh python_1 và bạn sẽ nhận được '7', đây thực sự là tổng của hai biến
Lỗi cú pháp. [lỗi unicode] codec 'unicodeescape' không thể giải mã byte ở vị trí 2-3. rút ngắn \UXXXXXXX thoát
Trong bối cảnh ví dụ của chúng tôi, mã hoàn chỉnh sẽ trông như thế này
import shutil original = r'C:\Users\Ron\Desktop\Test_1\products.csv' target = r'C:\Users\Ron\Desktop\Test_2\products.csv' shutil.copyfile[original, target]
Nếu bạn chạy mã bằng Python [được điều chỉnh theo đường dẫn của bạn], bạn sẽ thấy rằng tệp CSV 'sản phẩm' sẽ được sao chép vào thư mục Test_2
Ngoài ra, bạn có thể sao chép một tệp có tên mới
Chẳng hạn, hãy sao chép tệp CSV gốc [có tên tệp là ‘products‘] sang vị trí mới có tên tệp mới [‘new_products‘]
import shutil original = r'C:\Users\Ron\Desktop\Test_1\products.csv' target = r'C:\Users\Ron\Desktop\Test_2\new_products.csv' shutil.copyfile[original, target]
Sau đó, tên tệp mới [được gọi là 'new_products'] sẽ được sao chép vào vị trí đích [thư mục Test_2]
Các nguyên tắc tương tự sẽ áp dụng cho các loại tệp khác. Chẳng hạn, giả sử rằng tệp JPG có tên 'hình ảnh' được lưu trữ trong thư mục Test_1
Chúng ta sẽ xem xét một số tùy chọn khác nhau mà bạn có để di chuyển tệp xung quanh bằng Python. Ngoài ra còn có một ví dụ nhanh về cách bạn có thể sử dụng thư viện
x = 'hello world'8 và
0 để dọn dẹp thư mục tải xuống của mình trong phần đầu tiên. Vì vậy, nếu bạn là người cần một thứ như thế trong đời, thì hãy tiếp tục đọcimport shutil shutil.move[old_path, new_path]
Learn Data Science with
lựa chọn 1. đóng cửa. di chuyển[]
Ví dụ hiển thị trong phần giới thiệu sử dụng hàm
1 từ thư việnimport shutil shutil.move[old_path, new_path]
Learn Data Science with
x = 'hello world'8. Chức năng này thực hiện những gì bạn mong đợi và di chuyển các tệp từ vị trí này sang vị trí khác, như sau
________số 8
import shutil original = r'C:\Users\Ron\Desktop\Test_1\products.csv' target = r'C:\Users\Ron\Desktop\Test_2\products.csv' shutil.copyfile[original, target]0 hoạt động bằng cách trước tiên tạo một bản sao của tệp với đường dẫn được xác định bởi
4 và lưu trữ bản sao ở vị trí mới,import shutil shutil.move[old_path, new_path]
Learn Data Science with
5. Cuối cùng, sau khi tạo thành công bản sao, Python sẽ xóa tệp gốc có tạiimport shutil shutil.move[old_path, new_path]
Learn Data Science with
4import shutil shutil.move[old_path, new_path]
Learn Data Science with
Trong trường hợp tệp gốc được bảo vệ,
import shutil original = r'C:\Users\Ron\Desktop\Test_1\products.csv' target = r'C:\Users\Ron\Desktop\Test_2\products.csv' shutil.copyfile[original, target]0 sẽ tạo một bản sao của tệp ở vị trí mới, nhưng Python sẽ không thể xóa tệp gốc
Hầu hết mọi người có các thư mục tải xuống khá lộn xộn. Vì vậy, hãy xem một ví dụ thực tế về cách chúng ta có thể sử dụng
import shutil original = r'C:\Users\Ron\Desktop\Test_1\products.csv' target = r'C:\Users\Ron\Desktop\Test_2\products.csv' shutil.copyfile[original, target]0 để lưu trữ tất cả các hình ảnh trong một thư mục tải xuống trong một thư mục mới có tên là
9import shutil shutil.move[old_path, new_path]
Learn Data Science with
import python_2 print['what are you up to?']5
Chạy tập lệnh này bên trong thư mục tải xuống sẽ di chuyển bất kỳ tệp nào có phần mở rộng
import python_2 print['what are you up to?']50 hoặc
import python_2 print['what are you up to?']51 trong thư mục sang thư mục
import python_2 print['what are you up to?']52. Sử dụng
import python_2 print['what are you up to?']53 trả về danh sách tất cả các tệp trong thư mục. Sau đó, sử dụng
import python_2 print['what are you up to?']54, thư mục
import python_2 print['what are you up to?']52 được tạo. Sử dụng
import shutil original = r'C:\Users\Ron\Desktop\Test_1\products.csv' target = r'C:\Users\Ron\Desktop\Test_2\products.csv' shutil.copyfile[original, target]0, Python sau đó có thể di chuyển tất cả các tệp trong danh sách
import python_2 print['what are you up to?']57 của chúng tôi sang thư mục mới. Quá trình này được thể hiện trong sơ đồ dưới đây
Learn Data Science with
print['hello world']52. Chức năng của
print['hello world']52 hơi khác một chút so với
import shutil original = r'C:\Users\Ron\Desktop\Test_1\products.csv' target = r'C:\Users\Ron\Desktop\Test_2\products.csv' shutil.copyfile[original, target]0
Thay vì sao chép tệp được đề cập,
print['hello world']55 thay đổi đường dẫn của tệp, tự động thay đổi vị trí tệp. Xem bên dưới để biết ví dụ về cách chúng tôi có thể áp dụng chức năng
print['hello world']5
print['hello world']56 cũng hoạt động. Mặc dù chức năng được gọi là
print['hello world']57, nhưng nó cũng di chuyển các tệp bằng cách đổi tên chúng.
print['hello world']56 có thể được triển khai với một mẫu giống hệt với
import shutil original = r'C:\Users\Ron\Desktop\Test_1\products.csv' target = r'C:\Users\Ron\Desktop\Test_2\products.csv' shutil.copyfile[original, target]0 và
print['hello world']52
hello world
what are you up to?
5print['hello world']56 và
print['hello world']52 đều có thể được sử dụng để thay đổi tên tệp hoặc thư mục.
print['hello world']52 báo cáo lỗi khác nhau tùy thuộc vào hệ điều hành bạn đang chạy
Trong khi đó,
print['hello world']56 sẽ báo cáo lỗi thống nhất trên các hệ thống khác nhau, đây có thể là lựa chọn tốt hơn khi làm việc trên một chương trình cần khả năng tương thích với các hệ điều hành khác nhau
Tùy chọn 3. đường dẫn. Đường dẫn[]. đổi tên[]
Đối với cách tiếp cận hướng đối tượng hơn để di chuyển tệp,
hello world
what are you up to?
55 cũng là một tùy chọnBằng cách sử dụng hàm
hello world
what are you up to?
56, Python tạo một đối tượng hello world
what are you up to?
57. Phương thức print['hello world']55 sau đó thay đổi đường dẫn của đối tượng, tương tự như cách hoạt động của
print['hello world']52
import python_2 as p2 print[p2.x]5
Chúng tôi cũng có thể áp dụng
import python_2 as p2 print[p2.x]50 cho tập lệnh được tạo trước đó để di chuyển hình ảnh ra khỏi thư mục
import python_2 as p2 print[p2.x]51 của chúng tôi. Xem bên dưới để biết ví dụ về điều này
import python_2 as p2 print[p2.x]8
Dưới đây là bảng so sánh sự khác biệt về tốc độ của ba cách tiếp cận
import python_2 as p2 print[p2.x]9
Ngoài
gõmicroseconds1os. đổi tên[]50. 550shut. di chuyển[]54. 582Pathlib. Đường dẫn[]63. 74
Bản tóm tắt
Bạn có một số tùy chọn khi di chuyển tệp xung quanh.
import shutil original = r'C:\Users\Ron\Desktop\Test_1\products.csv' target = r'C:\Users\Ron\Desktop\Test_2\products.csv' shutil.copyfile[original, target]0,
print['hello world']52 và
print['hello world']56 đều là những cách tiếp cận tuyệt vời, với cả ba cách tiếp cận này đều sử dụng các đối số
import python_2 as p2 print[p2.x]55. Đối với cách tiếp cận hướng đối tượng hơn, bạn cũng có thể sử dụng
import python_2 as p2 print[p2.x]50, cung cấp
hello world
what are you up to?
56 với 4 vàimport shutil shutil.move[old_path, new_path]
Learn Data Science with
print['hello world']55 với
5import shutil shutil.move[old_path, new_path]
Learn Data Science with
Bắt đầu học miễn phí
Nhận thông tin cập nhật trong hộp thư đến của bạn
Tham gia cùng hơn 7.500 người học khoa học dữ liệu
Bài viết gần đây
Ưu đãi khóa học tốt nhất cho Thứ Sáu Đen và Thứ Hai Điện Tử 2022Hàm sigmoidchấm sản phẩm7 khóa học về trí tuệ nhân tạo [AI] tốt nhất năm 2022Các khóa học Python tốt nhất theo phân tích dữ liệu
Trong số khoảng 3000 dịch vụ, đây là những khóa học Python tốt nhất theo phân tích này
xem bài viếtNhận thông tin cập nhật trong hộp thư đến của bạn
Tham gia cùng hơn 7.500 người học khoa học dữ liệu
Gặp gỡ các tác giả
Nhà khoa học dữ liệu Alfie Grace
Alfie tốt nghiệp Thạc sĩ Kỹ thuật Cơ khí tại Đại học College London. Anh ấy hiện đang làm Nhà khoa học dữ liệu tại Square Enix. Tìm anh ấy trên LinkedIn