我写了一个简单的脚本来在一个目录中搜索文件类型,然后将其复制并移动到另一个目录。该脚本将在源目录中打印第一个搜索到的文件,但是当它进入for循环时,它将引发“ FileNotFoundError”。有人可以看一下,然后告诉我我做错了吗?我在路径中使用了单斜杠,在正斜杠和后斜杠中使用了斜杠,现在我在路径的前面使用了转义斜杠,并带有“ r”,这没关系,它仍然会给出错误。
谢谢。
import os
import fnmatch
import shutil
src = (r"C:\\Users\\myName\\Documents\\development")
dst = (r"C:\\ProgramData\\MySQL\\MySQL Server 8.0\\Data\\myData")
print(os.listdir(src)) #this will display everything in the src directory.
for file_name in os.listdir(src):
if fnmatch.fnmatch(file_name, "*.ibd"):
print(file_name) #This will only print the first searched for file type.
shutil.copy2(file_name, dst) #if I comment out this line, it will print all .ibd files.
答案 0 :(得分:1)
感谢furas的帮助。我必须了解您在说什么以及它如何适合代码结构,但我知道了。非常感谢您的协助。我希望这对其他人有帮助。
import os
import fnmatch
import shutil
src = (r"C:\\Users\\myName\\Documents\\development")
dst = (r"C:\\ProgramData\\MySQL\\MySQL Server 8.0\\Data\\myData")
for file_name in os.listdir(src):
if fnmatch.fnmatch(file_name, "*.ibd"):
print(file_name)
shutil.copy2(os.path.join(src, file_name), dst)