Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
104d6041
Commit
104d6041
authored
Aug 14, 2012
by
R David Murray
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
#15269: document dircmp.left and right, and add tests for them.
Patch by Chris Jerdonek.
parent
56493662
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
33 additions
and
2 deletions
+33
-2
Doc/library/filecmp.rst
Doc/library/filecmp.rst
+25
-0
Lib/test/test_filecmp.py
Lib/test/test_filecmp.py
+8
-2
No files found.
Doc/library/filecmp.rst
View file @
104d6041
...
...
@@ -106,6 +106,16 @@ The :class:`dircmp` class
to compute are used.
.. attribute:: left
The directory *a*.
.. attribute:: right
The directory *b*.
.. attribute:: left_list
Files and subdirectories in *a*, filtered by *hide* and *ignore*.
...
...
@@ -169,3 +179,18 @@ The :class:`dircmp` class
A dictionary mapping names in :attr:`common_dirs` to :class:`dircmp`
objects.
Here is a simplified example of using the ``subdirs`` attribute to search
recursively through two directories to show common different files::
>>> from filecmp import dircmp
>>> def print_diff_files(dcmp):
... for name in dcmp.diff_files:
... print("diff_file %s found in %s and %s" % (name, dcmp.left,
... dcmp.right))
... for sub_dcmp in dcmp.subdirs.values():
... print_diff_files(sub_dcmp)
...
>>> dcmp = dircmp('dir1', 'dir2')
>>> print_diff_files(dcmp)
Lib/test/test_filecmp.py
View file @
104d6041
...
...
@@ -98,7 +98,10 @@ class DirCompareTestCase(unittest.TestCase):
def
test_dircmp
(
self
):
# Check attributes for comparison of two identical directories
d
=
filecmp
.
dircmp
(
self
.
dir
,
self
.
dir_same
)
left_dir
,
right_dir
=
self
.
dir
,
self
.
dir_same
d
=
filecmp
.
dircmp
(
left_dir
,
right_dir
)
self
.
assertEqual
(
d
.
left
,
left_dir
)
self
.
assertEqual
(
d
.
right
,
right_dir
)
if
self
.
caseinsensitive
:
self
.
assertEqual
([
d
.
left_list
,
d
.
right_list
],[[
'file'
],
[
'FiLe'
]])
else
:
...
...
@@ -109,7 +112,10 @@ class DirCompareTestCase(unittest.TestCase):
self
.
assertEqual
(
d
.
diff_files
,
[])
# Check attributes for comparison of two different directories
d
=
filecmp
.
dircmp
(
self
.
dir
,
self
.
dir_diff
)
left_dir
,
right_dir
=
self
.
dir
,
self
.
dir_diff
d
=
filecmp
.
dircmp
(
left_dir
,
right_dir
)
self
.
assertEqual
(
d
.
left
,
left_dir
)
self
.
assertEqual
(
d
.
right
,
right_dir
)
self
.
assertEqual
(
d
.
left_list
,
[
'file'
])
self
.
assertTrue
(
d
.
right_list
==
[
'file'
,
'file2'
])
self
.
assertEqual
(
d
.
common
,
[
'file'
])
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment