Mô tả vấn đề. Chúng tôi cần sao chép tất cả dữ liệu từ tệp này sang tệp khác. Tên của cả hai tệp được cung cấp bởi người dùng làm đầu vào. Nếu tệp đích không có, hãy tạo một tệp mới
Chúng tôi sẽ sử dụng các khái niệm về xử lý tệp trong python và đọc và ghi nội dung trong tệp
Các bước sao chép nội dung từ tệp này sang tệp khác
- Bước 1. Cho người dùng biết tên của tệp nguồn và tệp đích
- Bước 2. Nếu nguồn có tệp nguồn thì sao chép nội dung của tệp nguồn sang tệp đích
- Bước 3. Nếu tệp đích không tồn tại, hãy tạo một tệp mới
Chương trình minh họa lời giải bài toán
sfile=input["Enter Source File:"] try: sf=open[sfile,"rb"] tfile = input["Enter Target File:"] tf=open[tfile,"wb"] tf.write[sf.read[]] sf.close[] tf.close[] print["File Copied..."] except FileNotFoundError as e: print[e]
đầu ra
Enter Source File:data.dat Enter Target File:newdata.dat File Copied... Files : data.dat 10032,John Doe,45000 10323,Ram,50000 newData.dat 10032,John Doe,45000 10323,Ram,50000
Ở đây, chúng tôi đã yêu cầu người dùng nhập tên tệp cho nguồn và đích. Sau khi người dùng đã cung cấp tên hợp lệ của tệp nguồn, chúng tôi đã sao chép nội dung của nó vào tệp đích
Trong Python, bạn cần cấp quyền truy cập [chẳng hạn như r,w,a,x] cho một tệp bằng cách mở tệp đó. Bạn có thể làm điều đó bằng cách sử dụng chức năng
Hello! Welcome to demofile.txt
This file is for testing purposes.
Good Luck!
2Hello! Welcome to demofile.txt
This file is for testing purposes.
Good Luck!
2 trả về một đối tượng tệp có các phương thức [chẳng hạn như read[], readline[], write[], close[]] và các thuộc tính để nhận thông tin và thao tác với tệp đã mởcú pháp
f = open[“demofile.txt”]
Đoạn mã trên giống như
f = open[“demofile.txt”, “rt”]
Vì
Hello! Welcome to demofile.txt
This file is for testing purposes.
Good Luck!
4 cho phần đọc và Hello! Welcome to demofile.txt
This file is for testing purposes.
Good Luck!
5 cho phần văn bản là các giá trị mặc định nên bạn không cần chỉ định chúngThông số
Hàm
Hello! Welcome to demofile.txt
This file is for testing purposes.
Good Luck!
6 nhận hai tham số. tên tệp và chế độCó bốn phương pháp [chế độ] khác nhau để mở tệp
Hello! Welcome to demofile.txt
This file is for testing purposes.
Good Luck!
7 - Đọc. Giá trị mặc định. Mở tệp để đọc, báo lỗi nếu tệp không tồn tạiHello! Welcome to demofile.txt
This file is for testing purposes.
Good Luck!
8 - Nối. Mở tệp để nối thêm, tạo tệp nếu tệp chưa tồn tạiHello! Welcome to demofile.txt
This file is for testing purposes.
Good Luck!
9 - Viết. Mở tệp để ghi, tạo tệp nếu tệp chưa tồn tạiEnter Source File:data.dat Enter Target File:newdata.dat File Copied... Files : data.dat 10032,John Doe,45000 10323,Ram,50000 newData.dat 10032,John Doe,45000 10323,Ram,5000020 - Tạo. Tạo tệp đã chỉ định, trả về lỗi nếu tệp tồn tại
Ngoài ra, bạn có thể chỉ định xem tệp sẽ được xử lý ở chế độ nhị phân hay văn bản
Enter Source File:data.dat Enter Target File:newdata.dat File Copied... Files : data.dat 10032,John Doe,45000 10323,Ram,50000 newData.dat 10032,John Doe,45000 10323,Ram,5000021 - Văn bản. Giá trị mặc định. chế độ văn bản
Enter Source File:data.dat Enter Target File:newdata.dat File Copied... Files : data.dat 10032,John Doe,45000 10323,Ram,50000 newData.dat 10032,John Doe,45000 10323,Ram,5000022 - Nhị phân. Chế độ nhị phân [e. g. hình ảnh]
Mở một tệp và đọc nội dung của nó. phương pháp
Enter Source File:data.dat Enter Target File:newdata.dat File Copied... Files : data.dat 10032,John Doe,45000 10323,Ram,50000 newData.dat 10032,John Doe,45000 10323,Ram,5000023
Giả sử chúng ta có tệp
Enter Source File:data.dat Enter Target File:newdata.dat File Copied... Files : data.dat 10032,John Doe,45000 10323,Ram,50000 newData.dat 10032,John Doe,45000 10323,Ram,5000024, nằm trong cùng thư mục với Python
Hello! Welcome to demofile.txt
This file is for testing purposes.
Good Luck!
Để mở tệp, hãy sử dụng hàm
Hello! Welcome to demofile.txt
This file is for testing purposes.
Good Luck!
2 tích hợpHàm
Hello! Welcome to demofile.txt
This file is for testing purposes.
Good Luck!
2 trả về một đối tượng tệp có phương thức Enter Source File:data.dat Enter Target File:newdata.dat File Copied... Files : data.dat 10032,John Doe,45000 10323,Ram,50000 newData.dat 10032,John Doe,45000 10323,Ram,5000023 để đọc nội dung của tệp
Ghi chú. Đó là một thực hành tốt để luôn đóng tệp khi bạn hoàn thành nó
Đọc toàn bộ nội dung của tệp dưới dạng chuỗi
Enter Source File:data.dat Enter Target File:newdata.dat File Copied... Files : data.dat 10032,John Doe,45000 10323,Ram,50000 newData.dat 10032,John Doe,45000 10323,Ram,500002
Chỉ đọc một số ký tự của tệp
Theo mặc định, phương thức
Enter Source File:data.dat Enter Target File:newdata.dat File Copied... Files : data.dat 10032,John Doe,45000 10323,Ram,50000 newData.dat 10032,John Doe,45000 10323,Ram,5000028 trả về toàn bộ văn bản, nhưng bạn cũng có thể chỉ định số lượng ký tự bạn muốn trả về
Hello! Welcome to demofile.txt
This file is for testing purposes.
Good Luck!
3phương thức readline[]. Chỉ đọc một dòng của tệp
Hello! Welcome to demofile.txt
This file is for testing purposes.
Good Luck!
4phương thức readlines[]. Đọc nhiều dòng của tệp dưới dạng danh sách
Theo mặc định, hàm readlines[] đọc cho đến hết tệp và trả về danh sách chứa từng dòng trong tệp dưới dạng một mục danh sách
Hello! Welcome to demofile.txt
This file is for testing purposes.
Good Luck!
5Sau đó, bạn có thể xuất một số dòng đầu tiên bằng cách cắt danh sách
Hello! Welcome to demofile.txt
This file is for testing purposes.
Good Luck!
6In từng dòng trong danh sách
Hello! Welcome to demofile.txt
This file is for testing purposes.
Good Luck!
7tập tinObject. đường đọc[n]
Ở đây n là số gợi ý, được sử dụng để giới hạn đầu ra
Nếu số byte được trả về vượt quá số gợi ý, sẽ không có dòng nào được trả về nữa. Giá trị mặc định là -1, có nghĩa là tất cả các dòng sẽ được trả về
cú pháp
Hello! Welcome to demofile.txt
This file is for testing purposes.
Good Luck!
8Ghi chú. n là số ký tự, không phải số dòng. Ví dụ
f = open[“demofile.txt”, “rt”]
0Mở tệp hiện có và ghi vào tệp. viết phương phápĐể ghi vào tệp hiện có, bạn phải thêm tham số vào hàm
Hello! Welcome to demofile.txt
This file is for testing purposes.
Good Luck!
2Hello! Welcome to demofile.txt
This file is for testing purposes.
Good Luck!
8 - Nối. sẽ nối vào cuối tập tinHello! Welcome to demofile.txt
This file is for testing purposes.
Good Luck!
9 - Viết. sẽ ghi đè lên bất kỳ nội dung hiện cóViết. thêm vào cuối tập tin
f = open[“demofile.txt”, “rt”]
1Viết. ghi đè lên nội dung
f = open[“demofile.txt”, “rt”]
2Tạo một tệp mới
Để tạo một tệp mới trong Python, hãy sử dụng phương thức
Hello! Welcome to demofile.txt
This file is for testing purposes.
Good Luck!
2, với một trong các tham số sauEnter Source File:data.dat Enter Target File:newdata.dat File Copied... Files : data.dat 10032,John Doe,45000 10323,Ram,50000 newData.dat 10032,John Doe,45000 10323,Ram,5000020 - Tạo. sẽ tạo một tệp, trả về lỗi nếu tệp tồn tại
Hello! Welcome to demofile.txt
This file is for testing purposes.
Good Luck!
9 - Viết. sẽ tạo một tệp nếu tệp được chỉ định không tồn tạiTạo một tệp trống
f = open[“demofile.txt”, “rt”]
3Tạo một tệp trống và ghi vào đó
f = open[“demofile.txt”, “rt”]
4Xóa bỏ
Xóa một tập tin. Hàm Hello! Welcome to demofile.txt
This file is for testing purposes.
Good Luck!
35
This file is for testing purposes.
Good Luck!
Để xóa một tệp, bạn phải nhập mô-đun
Hello! Welcome to demofile.txt
This file is for testing purposes.
Good Luck!
36 và chạy hàm Hello! Welcome to demofile.txt
This file is for testing purposes.
Good Luck!
35 của nó. Ví dụ: xóa tệp “demofile. txt”.
f = open[“demofile.txt”, “rt”]
5Kiểm tra xem Tệp có tồn tại không. hệ điều hành. đường dẫn. tồn tại[]
Để tránh gặp lỗi, bạn có thể muốn kiểm tra xem tệp có tồn tại trước khi cố xóa tệp không
f = open[“demofile.txt”, “rt”]
6Xóa thư mục. phương pháp Hello! Welcome to demofile.txt
This file is for testing purposes.
Good Luck!
38
This file is for testing purposes.
Good Luck!
Để xóa toàn bộ thư mục, hãy sử dụng phương pháp
Hello! Welcome to demofile.txt
This file is for testing purposes.
Good Luck!
38f = open[“demofile.txt”, “rt”]
7Hello! Welcome to demofile.txt
This file is for testing purposes.
Good Luck!
40tuyên bốVới câu lệnh
Hello! Welcome to demofile.txt
This file is for testing purposes.
Good Luck!
41, bạn sẽ xử lý cú pháp và ngoại lệ tốt hơnCâu lệnh with đơn giản hóa việc xử lý ngoại lệ bằng cách đóng gói các tác vụ chuẩn bị và dọn dẹp chung
Ngoài ra, nó sẽ tự động đóng tệp. Khi bạn sử dụng câu lệnh
Hello! Welcome to demofile.txt
This file is for testing purposes.
Good Luck!
42 với hàm Hello! Welcome to demofile.txt
This file is for testing purposes.
Good Luck!
43, bạn không cần phải đóng tệp ở cuối, vì Hello! Welcome to demofile.txt
This file is for testing purposes.
Good Luck!
42 sẽ tự động đóng tệp cho bạn. Câu lệnh with cung cấp một cách để đảm bảo rằng việc dọn dẹp luôn được sử dụng