shutil.copystat() FileNotFoundError: [Errno 2] No such file or directory
shutil.copystat() FileNotFoundError: [Errno 2] No such file or directory
我正在尝试使用 shutil.copystat() 复制文件。这是我的代码:
import os
from os import path
import shutil
def main():
if path.exists("textfile.txt"):
src = path.realpath("textfile.txt")
dest = src + ".bak"
shutil.copystat(src, dest)
if __name__ == "__main__":
main()
但是,这会导致以下错误:
Traceback (most recent call last):
File "/Users/x/Development/Python/Exercise Files/Ch4/shell_start.py", line 30, in <module>
main()
File "/Users/x/Development/Python/Exercise Files/Ch4/shell_start.py", line 19, in main
shutil.copystat(src, dest)
File "/opt/homebrew/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/shutil.py", line 375, in copystat
lookup("utime")(dst, ns=(st.st_atime_ns, st.st_mtime_ns),
FileNotFoundError: [Errno 2] No such file or directory
我打印了路径,都是正确的。我的文件结构如下:
/Ch4
/shell_start.py
/textfile.txt
有人知道我做错了什么吗?
替换:
shutil.copystat(src, dest)
作者:
shutil.copy2(src, dest)
如果您想使用 shutil.copystat
,请执行:
shutil.copy(src, dest)
shutil.copystat(src, dest)
阅读 shutil.copy2
的文档
shutil.copystat
不复制文件,它只复制两个现有文件之间的状态位。你要的是shutil.copy2
.
我正在尝试使用 shutil.copystat() 复制文件。这是我的代码:
import os
from os import path
import shutil
def main():
if path.exists("textfile.txt"):
src = path.realpath("textfile.txt")
dest = src + ".bak"
shutil.copystat(src, dest)
if __name__ == "__main__":
main()
但是,这会导致以下错误:
Traceback (most recent call last):
File "/Users/x/Development/Python/Exercise Files/Ch4/shell_start.py", line 30, in <module>
main()
File "/Users/x/Development/Python/Exercise Files/Ch4/shell_start.py", line 19, in main
shutil.copystat(src, dest)
File "/opt/homebrew/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/shutil.py", line 375, in copystat
lookup("utime")(dst, ns=(st.st_atime_ns, st.st_mtime_ns),
FileNotFoundError: [Errno 2] No such file or directory
我打印了路径,都是正确的。我的文件结构如下:
/Ch4
/shell_start.py
/textfile.txt
有人知道我做错了什么吗?
替换:
shutil.copystat(src, dest)
作者:
shutil.copy2(src, dest)
如果您想使用 shutil.copystat
,请执行:
shutil.copy(src, dest)
shutil.copystat(src, dest)
阅读 shutil.copy2
shutil.copystat
不复制文件,它只复制两个现有文件之间的状态位。你要的是shutil.copy2
.