Qui*_*ips 3 python file-copying
我正在尝试用 Python 制作一个程序,将我的闪存驱动器上的文件(字母 D:)复制到我硬盘驱动器上的一个文件夹中,但我收到了PermissionError: [Errno 13] Permission denied: 'D:'。
我的代码有问题的部分如下:
# Copy files to folder in current directory
def copy():
source = getsource()
if source != "failure":
copyfile(source, createfolder())
wait("Successfully backup up drive"
"\nPress 'Enter' to exit the program")
else:
wait("No USB drive was detected"
"\nPress 'Enter' to exit")
# Create a folder in current directory w/ date and time
def createfolder():
name = strftime("%a, %b %d, %Y, %H.%M.%S", gmtime())
dir_path = os.path.dirname(os.path.realpath(__file__))
new_folder = dir_path + "\\" + name
os.makedirs(new_folder)
return new_folder
Run Code Online (Sandbox Code Playgroud)
在copyfile()函数运行并返回错误之前,一切似乎都运行良好。我尝试用文件的目标替换getsource(),它返回了相同的权限错误,除了new_folder目录。
我已经阅读了其他几篇文章,但似乎没有一篇与我的案例相关。我也有两个位置的完全管理员权限。任何帮助将不胜感激!
正如我在上面的评论中所述,似乎您正在尝试打开目录,D:就好像它是一个文件一样,但这是行不通的,因为它不是文件,而是目录。
您可以做的是使用os.listdir()列出所需目录中的所有文件,然后根据shutil.copy()需要复制文件。
以下是每个文件的文档:
os.listdir()(您将把完整的文件路径传递给这个函数)
shutil.copy()(您将把每个文件传递给这个函数)
本质上,您会将目录中的所有文件存储在一个变量中,例如all_the_files = os.listdir(/path/to/file),然后通过all_the_files执行类似操作循环遍历for each_file in all_the_files:,然后根据需要使用shutil.copy()复制它们。
| 归档时间: |
|
| 查看次数: |
10465 次 |
| 最近记录: |