質問編集履歴

4

コード変更

2021/01/18 04:48

投稿

kosakana_fav
kosakana_fav

スコア1

test CHANGED
File without changes
test CHANGED
@@ -86,7 +86,7 @@
86
86
 
87
87
  def main(dcmp):
88
88
 
89
- for name in dcmp.diff_files, dcmp.right_only:
89
+ for name in dcmp.left_only, dcmp.right_only:
90
90
 
91
91
  print (name)
92
92
 

3

タイトルの変更

2021/01/18 04:48

投稿

kosakana_fav
kosakana_fav

スコア1

test CHANGED
@@ -1 +1 @@
1
- 違うディレクトリで同じデータ以外削除
1
+ 2つのディレクトリを比較、片方にしかないデータ削除したい
test CHANGED
File without changes

2

途中まで作成したコードの追加

2021/01/18 04:39

投稿

kosakana_fav
kosakana_fav

スコア1

test CHANGED
File without changes
test CHANGED
@@ -7,10 +7,6 @@
7
7
 
8
8
 
9
9
  pythonを用いて以下のことを行いたいです.
10
-
11
-
12
-
13
- 教えていただければ,幸いです.
14
10
 
15
11
 
16
12
 
@@ -41,6 +37,18 @@
41
37
 
42
38
 
43
39
  この3部分がうまくできません
40
+
41
+ TypeError: must be str, not int とエラーがでます。
42
+
43
+
44
+
45
+ 文字列ではないものを文字として使用している?とのことなのですが、
46
+
47
+ 具体的にどの部分がエラーの原因なのかわかりません
48
+
49
+
50
+
51
+ 教えていただければ,幸いです.
44
52
 
45
53
 
46
54
 
@@ -90,4 +98,14 @@
90
98
 
91
99
  #3部分
92
100
 
101
+ target_dir = [#取得したリストをコピペ]
102
+
103
+ for i in target_dir:
104
+
105
+ dir = target_dir(i+1)
106
+
107
+ path = os.path.join(B_dir, dir)
108
+
109
+ shutil.rmtree(path)
110
+
93
111
  ```

1

途中まで作成したコードの追加

2021/01/18 04:28

投稿

kosakana_fav
kosakana_fav

スコア1

test CHANGED
File without changes
test CHANGED
@@ -32,12 +32,62 @@
32
32
 
33
33
 
34
34
 
35
+ 1:ディレクトリにアクセス
36
+
35
- このAとBのディレクトリ内のファイルを照ら合わせ,どちらかのディレクトリ内で欠損しているファイルを一括で削除するコードを教えていただきたいです.
37
+ 2:比較て、欠損しているファイルのリスト取得
38
+
39
+ 3:リスト部分のディレクトリをBから削除
36
40
 
37
41
 
38
42
 
39
- for文かif文,shutilあたりを応用すればと考えたです,なかなかうまくきません
43
+ 3部分がうまくきません
40
44
 
41
45
 
42
46
 
43
47
  よろしくお願いします.
48
+
49
+
50
+
51
+ ```python
52
+
53
+ import os
54
+
55
+ import shutil
56
+
57
+ import filecmp
58
+
59
+ from filecmp import dircmp
60
+
61
+
62
+
63
+
64
+
65
+ #比較するディレクトリの指定
66
+
67
+ A_dir = './A'
68
+
69
+ B_dir = './B'
70
+
71
+
72
+
73
+
74
+
75
+ #リストの取得
76
+
77
+ dcmp = dircmp(A_dir, B_dir)
78
+
79
+ def main(dcmp):
80
+
81
+ for name in dcmp.diff_files, dcmp.right_only:
82
+
83
+ print (name)
84
+
85
+ if __name__ == "__main__":
86
+
87
+ main(dcmp)
88
+
89
+
90
+
91
+ #3部分
92
+
93
+ ```