Hướng dẫn not a file attribute in python - không phải thuộc tính tệp trong python

Hướng dẫn not a file attribute in python - không phải thuộc tính tệp trong python

Tham gia với chúng tôi và có quyền truy cập vào hàng ngàn hướng dẫn và một cộng đồng chuyên gia Pythonistas.

Mở khóa bài học này

Bài học này chỉ dành cho các thành viên. Tham gia với chúng tôi và có quyền truy cập vào hàng ngàn hướng dẫn và một cộng đồng chuyên gia Pythonistas.Join us and get access to thousands of tutorials and a community of expert Pythonistas.

Mở khóa bài học này

Bài học này chỉ dành cho các thành viên. Tham gia với chúng tôi và có quyền truy cập vào hàng ngàn hướng dẫn và một cộng đồng chuyên gia Pythonistas. Looks like there’s an issue with video playback 🙁 This might be due to a temporary outage or because of a configuration issue with your browser. Please see our video player troubleshooting guide to resolve the issue.

Hướng dẫn not a file attribute in python - không phải thuộc tính tệp trong python

  • Xin lỗi! Có vẻ như có một vấn đề với phát lại video 🙁 Điều này có thể là do sự cố ngừng hoạt động tạm thời hoặc do sự cố cấu hình với trình duyệt của bạn. Vui lòng xem Hướng dẫn khắc phục sự cố trình phát video của chúng tôi để giải quyết vấn đề.
  • Bảng điểm

Nhận xét & Thảo luận (3) Now you’ve got a list of all the files in your current directory, but what happens when you want to actually get the attributes of those files? Like, the last time they were modified, or when they were created, or their size, or their permissions, or something like that?

00:00 Bây giờ bạn đã có một danh sách tất cả các tệp trong thư mục hiện tại của bạn, nhưng điều gì xảy ra khi bạn muốn thực sự nhận được các thuộc tính của các tệp đó? Giống như, lần cuối cùng họ được sửa đổi, hoặc khi chúng được tạo ra, hoặc kích thước của chúng, hoặc quyền của họ, hoặc một cái gì đó tương tự? That’s the topic of this lesson.

00:15 Đó là chủ đề của bài học này. Just like in the last lesson, there are three different options for getting file information: two from the os module, and then one from the pathlib module.

00:18 Giống như trong bài học cuối cùng, có ba tùy chọn khác nhau để nhận thông tin tệp: hai từ mô -đun os, và sau đó là một tùy chọn từ mô -đun pathlib. And in fact, I say there are three different options, but there are many more than just these. These are just the three that I’m going to show you today.

00:28 Và trên thực tế, tôi nói có ba lựa chọn khác nhau, nhưng có nhiều hơn là chỉ. Đây chỉ là ba người mà tôi sẽ cho bạn thấy hôm nay. The first is os.stat(), which takes in a path as a string and then returns a stat_result object that has that file data in it. So that stat_result object is something where you can access fields of that object and get the file data.

00:35 Đầu tiên là os.stat(), có một đường dẫn dưới dạng chuỗi và sau đó trả về một đối tượng stat_result có dữ liệu tệp đó trong đó. Vì vậy, đối tượng stat_result là một cái gì đó mà bạn có thể truy cập các trường của đối tượng đó và lấy dữ liệu tệp. Then os.scandir() and pathlib.Path.iterdir(), as I mentioned in the last lesson, provide this information within the objects that they return in their iterators.

00:52 Sau đó, os.scandir()pathlib.Path.iterdir(), như tôi đã đề cập trong bài học cuối cùng, cung cấp thông tin này trong các đối tượng mà họ quay lại trong trình lặp của họ. The objects in those iterators all have .stat() methods that return the same data as os.stat(). So again, os.stat() is something that you can use independent of these iteration paradigms, whereas os.scandir() and pathlib1, they package this .stat() data up with the objects that they actually are iterating through.

01:04 Các đối tượng trong các trình lặp đó đều có các phương thức .stat() trả về cùng một dữ liệu với os.stat(). Vì vậy, một lần nữa, os.stat() là thứ mà bạn có thể sử dụng độc lập với các mô hình lặp này, trong khi os.scandir()pathlib1, chúng đóng gói dữ liệu .stat() này với các đối tượng mà chúng thực sự đang lặp đi lặp lại. So it’s more convenient when you’re doing iteration, but os.stat() might be more convenient if you just need a one-off, “What’s in this file?”

01:25 Vì vậy, nó thuận tiện hơn khi bạn thực hiện việc lặp lại, nhưng os.stat() có thể thuận tiện hơn nếu bạn chỉ cần một lần, thì sao trong tập tin này? The sample directory that I’ll use for this is the same as in the last lesson. It has a couple of subdirectories with a few files in each, and then has a few files just in the top-level directory.

01:33 Thư mục mẫu mà tôi sẽ sử dụng cho điều này giống như trong bài học trước. Nó có một vài thư mục con với một vài tệp trong mỗi tệp, và sau đó có một vài tệp chỉ trong thư mục cấp cao nhất. So let’s take a look at this over in the REPL. Okay, file data: how do you get it? Well, let’s try this. First, I just want to get the contents of this directory, and as you can see, there are a lot of files to choose from.

01:43 Vì vậy, hãy để Lôi xem xét điều này trong phần lại. Được rồi, dữ liệu tệp: Làm thế nào để bạn có được nó? Chà, hãy để thử này. Đầu tiên, tôi chỉ muốn có được nội dung của thư mục này và như bạn có thể thấy, có rất nhiều tệp để lựa chọn. And the first method that I looked at in the slides was the os.stat() function. That just takes in a file path, a filename, and gives you an pathlib5 object as the results.

01:56 và phương pháp đầu tiên mà tôi đã xem xét trong các slide là hàm os.stat(). Điều đó chỉ có trong một đường dẫn tệp, tên tệp và cung cấp cho bạn một đối tượng pathlib5 làm kết quả. Now, this stat_result object has a lot of different fields, and I can’t really get into all of them because there’s many more than are shown here, and it’s just a wealth of information.

02:10 Bây giờ, đối tượng stat_result này có rất nhiều lĩnh vực khác nhau và tôi có thể thực sự tham gia vào tất cả chúng bởi vì có nhiều thứ hơn được hiển thị ở đây, và nó chỉ là rất nhiều thông tin. But as you can see, you have the mode, which is the permissions associated with that object. You have a unique identifier for the object. You have all sorts of different things: the number of links, the creation and modification time.

02:19 Nhưng như bạn có thể thấy, bạn có chế độ, đó là các quyền được liên kết với đối tượng đó. Bạn có một định danh duy nhất cho đối tượng. Bạn có tất cả các loại khác nhau: số lượng liên kết, thời gian sáng tạo và sửa đổi. Some of these will even differ by system. On Windows, on Linux, on Mac, some of these will have different values. You really have to be careful and understand your system well to work with these.

02:30 Một số trong số này thậm chí sẽ khác nhau theo hệ thống. Trên Windows, trên Linux, trên Mac, một số trong số này sẽ có các giá trị khác nhau. Bạn thực sự phải cẩn thận và hiểu rõ hệ thống của bạn để làm việc với những điều này. In order to show you just a little bit about how you can actually access these kinds of things, I’m just going to focus on the pathlib7, the modification time—last-modified time, I should say—just so that I can have one thing to show you as I go through with these different methods of getting statistics for objects.

02:41 Để chỉ cho bạn một chút về cách bạn thực sự có thể truy cập vào những thứ này, tôi sẽ tập trung vào pathlib7, thời gian sửa đổi thời gian được sửa đổi, tôi nên nói là chỉ cần Tôi có thể có một điều để cho bạn thấy khi tôi trải qua các phương pháp khác nhau để nhận số liệu thống kê cho các đối tượng. So, as you can see, if you call this, you can then directly access those fields. So I could say pathlib7, and this is a time represented as floating-point seconds.

02:58 Vì vậy, như bạn có thể thấy, nếu bạn gọi cái này, sau đó bạn có thể truy cập trực tiếp vào các trường đó. Vì vậy, tôi có thể nói pathlib7, và đây là thời gian được thể hiện dưới dạng giây nổi. If you’re not familiar with that representation, I would encourage you to check out the Real Python tutorials on the topic. But the gist of it is, I’ll have to convert that if I want a more readable time.

03:11 Nếu bạn không quen thuộc với đại diện đó, tôi sẽ khuyến khích bạn xem các hướng dẫn Python thực sự về chủ đề này. Nhưng ý chính của nó là, tôi sẽ phải chuyển đổi điều đó nếu tôi muốn có một thời gian dễ đọc hơn. I’d have to say something like pathlib9. So, there’s a fair amount of work that you’ll need to do here, if you want to actually convert these into nice, readable, human-intelligible formats.

03:21 Tôi phải nói điều gì đó như pathlib9. Vì vậy, có một số lượng công việc khá lớn mà bạn sẽ cần làm ở đây, nếu bạn muốn thực sự chuyển đổi chúng thành các định dạng tốt, dễ đọc, có đủ điều kiện. That’s just because this data is stored, really, at the system level, where everything is just bare numbers.

03:36 mà chỉ vì dữ liệu này được lưu trữ, thực sự, ở cấp độ hệ thống, nơi mọi thứ chỉ là số trần. Now that you know how to, at least, get these things and convert them, a little bit, into a more readable format, I’ll show you the other two ways that I want to talk about to actually get this data.

03:43 Bây giờ bạn đã biết làm thế nào, ít nhất, có được những thứ này và chuyển đổi chúng, một chút, thành một định dạng dễ đọc hơn, tôi sẽ chỉ cho bạn hai cách khác mà tôi muốn nói về việc thực sự nhận được dữ liệu này . I could say os.stat()0 on the current directory, and then let’s make it a little bit more informative output. Let’s say something like os.stat()1, that’s how you get the statistics for a os.stat()2 object.

04:10 Và sau đó tôi có thể nói os.stat()3, và bây giờ tôi có thể nói điều gì đó tốt đẹp, như os.stat()4, và sau đó tôi có thể nói, os.stat()5 của os.stat()6. And then I can say os.stat()3, and now I can say something nice, like os.stat()4, and then I could say, os.stat()5 of the os.stat()6.

04:29 Và vì vậy điều này sẽ cung cấp cho chúng tôi mọi thứ ở một định dạng dễ đọc. Và trên thực tế, bạn có thể thấy rằng đó là những gì nó làm. Nó cho bạn biết mỗi tên tệp và thời gian họ được sửa đổi lần cuối. And so this should give us everything in a nice readable format. And in fact, you can see that that’s what it does. It tells you each filename and the time that they were last modified.

04:39 Và như bạn có thể thấy, hầu hết trong số họ thực sự là cùng một lúc, bởi vì tôi đã tạo ra tất cả cho các mục đích của bài học này, nhưng sau đó một trong số đó tôi đã sửa đổi gần đây để đưa ra ít nhất một số loại. And as you can see, most of them were actually at the same time, because I created these all for the purposes of this lesson, but then one of them I modified just recently to give at least some variety.

04:48 Sau đó, tùy chọn os.stat()7 ở đây hoạt động gần như chính xác theo cùng một cách, ngoại trừ bạn phải tạo đối tượng os.stat()8 trước, trước khi bạn có thể bắt đầu lặp lại thông qua nó. Then the os.stat()7 option here works almost exactly the same way, except you have to create the os.stat()8 object first, before you can start iterating through it.

04:59 Vì vậy, tôi tạo đối tượng os.stat()8, và sau đó tôi thực sự có thể sao chép và dán. Tôi chỉ cần gọi hàm stat_result0 trên đối tượng stat_result1. So I create the os.stat()8 object, and then I can really pretty much just copy and paste. I just have to call the stat_result0 function on the stat_result1 object.

05:08 Vì vậy, trong thực tế, những gì tôi làm là tôi gọi phương thức stat_result0 của đối tượng stat_result1, sẽ là một cách tốt hơn để nói điều đó. Nhưng điều này làm chính xác điều tương tự và nó thậm chí còn có cùng tên phương pháp, do đó, siêu thuận tiện khi bạn làm việc với những điều này. So in reality, what I’m doing is I’m calling the stat_result0 method of the stat_result1 object, would be a better way to say that. But this does exactly the same thing and it even has the same method names, so that’s super convenient for when you’re working with these.

05:21 Thực sự, hai chức năng này theo cùng một cách chính xác. Vì vậy, đó là ba cách khác nhau để có được số liệu thống kê từ các tệp sử dụng Python. Trong bài học tiếp theo, tôi sẽ bao gồm một cái gì đó mà tôi đã bao gồm, đó là cách tạo ra các thư mục. Really, these two function in almost exactly the same way. So, that’s three different ways to get statistics from files using Python. In the next lesson, I’ll cover something I haven’t covered yet, which is how to create directories.

Cái nào không phải là thuộc tính của tệp trong Python?

4. Cái nào sau đây không phải là thuộc tính của tệp?Giải thích: Đổi tên không phải là thuộc tính của phần còn lại tệp đều là thuộc tính tệp.rename is not the attribute of file rest all are files attributes.

Các thuộc tính tệp trong Python là gì?

Các thuộc tính đối tượng tệp.

Cái nào không phải là thuộc tính tệp hợp lệ?

4. Điều nào sau đây không phải là thuộc tính hợp lệ của đối tượng tệp (FP)?Giải thích: fp.size chưa được thực hiện.fp. size has not been implemented.

Thuộc tính của tệp nào?

Thuộc tính của tệp..
1.name.Mỗi tệp đều mang tên mà tệp được nhận dạng trong hệ thống tệp.....
2.Identifier.Cùng với tên, mỗi tệp có phần mở rộng riêng xác định loại tệp.....
3.Type.....
4. Vị trí.....
5.Size.....
6. Phản đối.....
7. Thời gian và ngày ..