teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

keyを求める時のカッコが不要だったので

2018/09/24 02:08

投稿

morinatsu
morinatsu

スコア395

answer CHANGED
@@ -6,7 +6,7 @@
6
6
  ```python
7
7
  d = os.scandir(r'C:\Users\abcdef')
8
8
  l = [(_.name, os.stat(_.path).st_mtime) for _ in d]
9
- i = max(l, key=(lambda x: x[1]))
9
+ i = max(l, key=lambda x: x[1])
10
10
  print(i)
11
11
  ('OneDrive', 1537747515.95056)
12
12
  ```

1

実行例を追加

2018/09/24 02:08

投稿

morinatsu
morinatsu

スコア395

answer CHANGED
@@ -1,3 +1,14 @@
1
1
  自分なら、`os.scandir`でディレクトリの中身を得て、得られた`os.DirEntry`オブジェクトからそれぞれのファイルの属性を辿ります。
2
2
 
3
- [https://docs.python.org/ja/3/library/os.html#os.scandir](https://docs.python.org/ja/3/library/os.html#os.scandir)
3
+ [https://docs.python.org/ja/3/library/os.html#os.scandir](https://docs.python.org/ja/3/library/os.html#os.scandir)
4
+
5
+ 追記
6
+ ```python
7
+ d = os.scandir(r'C:\Users\abcdef')
8
+ l = [(_.name, os.stat(_.path).st_mtime) for _ in d]
9
+ i = max(l, key=(lambda x: x[1]))
10
+ print(i)
11
+ ('OneDrive', 1537747515.95056)
12
+ ```
13
+ ps. `scandir`の結果にはフォルダとファイルの両方が含まれるので、それを避けるなら`l`をさらに加工するなどしてください。
14
+ ps2. もっとカッコいい書き方があるような気はします。