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
c96207ab
Commit
c96207ab
authored
Mar 31, 1992
by
Guido van Rossum
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
posix -> os
parent
a05026b3
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
35 additions
and
39 deletions
+35
-39
Lib/dircache.py
Lib/dircache.py
+7
-8
Lib/dircmp.py
Lib/dircmp.py
+11
-13
Lib/shutil.py
Lib/shutil.py
+17
-18
No files found.
Lib/dircache.py
View file @
c96207ab
# Module 'dircache'
#
# Return a sorted list of the files in a
POSIX
directory, using a cache
# Return a sorted list of the files in a directory, using a cache
# to avoid reading the directory more often than necessary.
# Also contains a subroutine to append slashes to directories.
import
posix
import
path
import
os
cache
=
{}
...
...
@@ -16,13 +15,13 @@ def listdir(path): # List directory contents, using cache
except
KeyError
:
cached_mtime
,
list
=
-
1
,
[]
try
:
mtime
=
posix
.
stat
(
path
)[
8
]
except
posix
.
error
:
mtime
=
os
.
stat
(
path
)[
8
]
except
os
.
error
:
return
[]
if
mtime
<>
cached_mtime
:
try
:
list
=
posix
.
listdir
(
path
)
except
posix
.
error
:
list
=
os
.
listdir
(
path
)
except
os
.
error
:
return
[]
list
.
sort
()
cache
[
path
]
=
mtime
,
list
...
...
@@ -32,5 +31,5 @@ opendir = listdir # XXX backward compatibility
def
annotate
(
head
,
list
):
# Add '/' suffixes to directories
for
i
in
range
(
len
(
list
)):
if
path
.
isdir
(
path
.
join
(
head
,
list
[
i
])):
if
os
.
path
.
isdir
(
os
.
path
.
join
(
head
,
list
[
i
])):
list
[
i
]
=
list
[
i
]
+
'/'
Lib/dircmp.py
View file @
c96207ab
...
...
@@ -2,9 +2,7 @@
#
# Defines a class to build directory diff tools on.
import
posix
import
path
import
os
import
dircache
import
cmpcache
...
...
@@ -18,8 +16,8 @@ class dircmp:
def
new
(
dd
,
(
a
,
b
)):
# Initialize
dd
.
a
=
a
dd
.
b
=
b
# Properties that caller may change before calling
dd.
run():
dd
.
hide
=
[
'.'
,
'..'
]
# Names never to be shown
# Properties that caller may change before calling
dd.
run():
dd
.
hide
=
[
os
.
curdir
,
os
.
pardir
]
# Names never to be shown
dd
.
ignore
=
[
'RCS'
,
'tags'
]
# Names ignored in comparison
#
return
dd
...
...
@@ -53,18 +51,18 @@ class dircmp:
dd
.
common_funny
=
[]
#
for
x
in
dd
.
common
:
a_path
=
path
.
join
(
dd
.
a
,
x
)
b_path
=
path
.
join
(
dd
.
b
,
x
)
a_path
=
os
.
path
.
join
(
dd
.
a
,
x
)
b_path
=
os
.
path
.
join
(
dd
.
b
,
x
)
#
ok
=
1
try
:
a_stat
=
statcache
.
stat
(
a_path
)
except
posix
.
error
,
why
:
except
os
.
error
,
why
:
# print 'Can\'t stat', a_path, ':', why[1]
ok
=
0
try
:
b_stat
=
statcache
.
stat
(
b_path
)
except
posix
.
error
,
why
:
except
os
.
error
,
why
:
# print 'Can\'t stat', b_path, ':', why[1]
ok
=
0
#
...
...
@@ -92,8 +90,8 @@ class dircmp:
# The hide and ignore properties are inherited from the parent
dd
.
subdirs
=
{}
for
x
in
dd
.
common_dirs
:
a_x
=
path
.
join
(
dd
.
a
,
x
)
b_x
=
path
.
join
(
dd
.
b
,
x
)
a_x
=
os
.
path
.
join
(
dd
.
a
,
x
)
b_x
=
os
.
path
.
join
(
dd
.
b
,
x
)
dd
.
subdirs
[
x
]
=
newdd
=
dircmp
().
new
(
a_x
,
b_x
)
newdd
.
hide
=
dd
.
hide
newdd
.
ignore
=
dd
.
ignore
...
...
@@ -151,7 +149,7 @@ class dircmp:
def
cmpfiles
(
a
,
b
,
common
):
res
=
([],
[],
[])
for
x
in
common
:
res
[
cmp
(
path
.
join
(
a
,
x
),
path
.
join
(
b
,
x
))].
append
(
x
)
res
[
cmp
(
os
.
path
.
join
(
a
,
x
),
os
.
path
.
join
(
b
,
x
))].
append
(
x
)
return
res
...
...
@@ -165,7 +163,7 @@ def cmp(a, b):
try
:
if
cmpcache
.
cmp
(
a
,
b
):
return
0
return
1
except
posix
.
error
:
except
os
.
error
:
return
2
...
...
Lib/shutil.py
View file @
c96207ab
# Module 'shutil' -- utility functions usable in a shell-like program
import
posix
import
path
import
os
MODEBITS
=
010000
# Lower 12 mode bits
# Change this to 01000 (9 mode bits) to avoid copying setuid etc.
...
...
@@ -19,17 +18,17 @@ def copyfile(src, dst):
# Copy mode bits from src to dst
#
def
copymode
(
src
,
dst
):
st
=
posix
.
stat
(
src
)
st
=
os
.
stat
(
src
)
mode
=
divmod
(
st
[
0
],
MODEBITS
)[
1
]
posix
.
chmod
(
dst
,
mode
)
os
.
chmod
(
dst
,
mode
)
# Copy all stat info (mode bits, atime and mtime) from src to dst
#
def
copystat
(
src
,
dst
):
st
=
posix
.
stat
(
src
)
st
=
os
.
stat
(
src
)
mode
=
divmod
(
st
[
0
],
MODEBITS
)[
1
]
posix
.
chmod
(
dst
,
mode
)
posix
.
utimes
(
dst
,
st
[
7
:
9
])
os
.
chmod
(
dst
,
mode
)
os
.
utime
(
dst
,
st
[
7
:
9
])
# Copy data and mode bits ("cp src dst")
#
...
...
@@ -47,24 +46,24 @@ def copy2(src, dst):
# The destination must not already exist.
#
def
copytree
(
src
,
dst
):
names
=
posix
.
listdir
(
src
)
posix
.
mkdir
(
dst
,
0777
)
dot_dotdot
=
'.'
,
'..'
names
=
os
.
listdir
(
src
)
os
.
mkdir
(
dst
,
0777
)
dot_dotdot
=
(
os
.
curdir
,
os
.
pardir
)
for
name
in
names
:
if
name
not
in
dot_dotdot
:
srcname
=
path
.
join
(
src
,
name
)
dstname
=
path
.
join
(
dst
,
name
)
srcname
=
os
.
path
.
join
(
src
,
name
)
dstname
=
os
.
path
.
join
(
dst
,
name
)
#print 'Copying', srcname, 'to', dstname
try
:
#if path.islink(srcname):
# linkto =
posix
.readlink(srcname)
#
posix
.symlink(linkto, dstname)
#elif path.isdir(srcname):
if
path
.
isdir
(
srcname
):
#if
os.
path.islink(srcname):
# linkto =
os
.readlink(srcname)
#
os
.symlink(linkto, dstname)
#elif
os.
path.isdir(srcname):
if
os
.
path
.
isdir
(
srcname
):
copytree
(
srcname
,
dstname
)
else
:
copy2
(
srcname
,
dstname
)
# XXX What about devices, sockets etc.?
except
posix
.
error
,
why
:
except
os
.
error
,
why
:
print
'Could not copy'
,
srcname
,
'to'
,
dstname
,
print
'('
,
why
[
1
],
')'
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