Lines Matching refs:dst

202 def _samefile(src, dst):
206 return os.path.samestat(src.stat(), os.stat(dst))
212 return os.path.samefile(src, dst)
218 os.path.normcase(os.path.abspath(dst)))
226 def copyfile(src, dst, *, follow_symlinks=True):
227 """Copy data from src to dst in the most efficient way possible.
233 sys.audit("shutil.copyfile", src, dst)
235 if _samefile(src, dst):
236 raise SameFileError("{!r} and {!r} are the same file".format(src, dst))
239 for i, fn in enumerate([src, dst]):
254 os.symlink(os.readlink(src), dst)
258 with open(dst, 'wb') as fdst:
263 return dst
270 return dst
277 return dst
283 if not os.path.exists(dst):
284 raise FileNotFoundError(f'Directory does not exist: {dst}') from e
288 return dst
290 def copymode(src, dst, *, follow_symlinks=True):
291 """Copy mode bits from src to dst.
294 if both `src` and `dst` are symlinks. If `lchmod` isn't available
298 sys.audit("shutil.copymode", src, dst)
300 if not follow_symlinks and _islink(src) and os.path.islink(dst):
309 chmod_func(dst, stat.S_IMODE(st.st_mode))
312 def _copyxattr(src, dst, *, follow_symlinks=True):
313 """Copy extended filesystem attributes from `src` to `dst`.
330 os.setxattr(dst, name, value, follow_symlinks=follow_symlinks)
339 def copystat(src, dst, *, follow_symlinks=True):
343 flags from `src` to `dst`. On Linux, copystat() also copies the "extended
345 unaffected. `src` and `dst` are path-like objects or path names given as
349 followed if and only if both `src` and `dst` are symlinks.
351 sys.audit("shutil.copystat", src, dst)
357 follow = follow_symlinks or not (_islink(src) and os.path.islink(dst))
376 lookup("utime")(dst, ns=(st.st_atime_ns, st.st_mtime_ns),
380 _copyxattr(src, dst, follow_symlinks=follow)
382 lookup("chmod")(dst, mode, follow_symlinks=follow)
397 lookup("chflags")(dst, st.st_flags, follow_symlinks=follow)
405 def copy(src, dst, *, follow_symlinks=True):
406 """Copy data and mode bits ("cp src dst"). Return the file's destination.
411 resembles GNU's "cp -P src dst".
417 if os.path.isdir(dst):
418 dst = os.path.join(dst, os.path.basename(src))
419 copyfile(src, dst, follow_symlinks=follow_symlinks)
420 copymode(src, dst, follow_symlinks=follow_symlinks)
421 return dst
423 def copy2(src, dst, *, follow_symlinks=True):
432 resembles GNU's "cp -P src dst".
434 if os.path.isdir(dst):
435 dst = os.path.join(dst, os.path.basename(src))
436 copyfile(src, dst, follow_symlinks=follow_symlinks)
437 copystat(src, dst, follow_symlinks=follow_symlinks)
438 return dst
452 def _copytree(entries, src, dst, symlinks, ignore, copy_function,
459 os.makedirs(dst, exist_ok=dirs_exist_ok)
467 dstname = os.path.join(dst, srcentry.name)
509 copystat(src, dst)
513 errors.append((src, dst, str(why)))
516 return dst
518 def copytree(src, dst, symlinks=False, ignore=None, copy_function=copy2,
552 If dirs_exist_ok is false (the default) and `dst` already exists, a
555 within the `dst` tree will be overwritten by corresponding files from the
558 sys.audit("shutil.copytree", src, dst)
561 return _copytree(entries=entries, src=src, dst=dst, symlinks=symlinks,
783 def move(src, dst, copy_function=copy2):
809 sys.audit("shutil.move", src, dst)
810 real_dst = dst
811 if os.path.isdir(dst):
812 if _samefile(src, dst):
815 os.rename(src, dst)
820 real_dst = os.path.join(dst, _basename(src))
832 if _destinsrc(src, dst):
834 " '%s'." % (src, dst))
849 def _destinsrc(src, dst):
851 dst = os.path.abspath(dst)
854 if not dst.endswith(os.path.sep):
855 dst += os.path.sep
856 return dst.startswith(src)