编写一个程序,实现拷贝复制文件,文件大小1MB以上(音频、视频、图片文件),执行程序可以将该文件拷?

编写一个程序,实现拷贝复制文件,文件大小1MB以上(音频、视频、图片文件),执行程序可以将该文件拷?,第1张

//定义文件的旅隐贺拷贝函数

def copy_file(src, dest):

with open(src, '携姿rb') as f1:

with open(dest, 'wb') as f2:

while True:

data = f1.read(1024) #每次读取1MB

if not data:

break

f2.write(data)

//调用拷贝函数

copy_file('src_file.mp4', 'dest_file.mp4'拆派)

用API函数 SHFileOperation的方法。

以下是使用SHFileOperation删除复制移动文樱巧件的例子,可以复制文件夹

Private Type SHFILEOPSTRUCT

hwnd As Long

wFunc As Long

pFrom As String

pTo As String

fFlags As Integer

fAnyOperationsAborted As Long

hNameMappings As Long

lpszProgressTitle As String '只有在 FOF_SIMPLEPROGRESS 时用

End Type

Private Declare Function SHFileOperation Lib _

"shell32.dll" Alias "SHFileOperationA" (lpFileOp _

As SHFILEOPSTRUCT) As Long

'wFunc 常数

'FO_COPY 把 pFrom 文件拷贝到 pTo。

Const FO_COPY = &H2

'FO_DELETE 删除 pFrom 中的文件(pTo 忽略)。

Const FO_DELETE = &H3

'FO_MOVE 把 pFrom 文件移动到 pTo。

Const FO_MOVE = &H1

'fFlag 常数旦凯

'FOF_ALLOWUNDO 允许 Undo 。

Const FOF_ALLOWUNDO = &H40

'FOF_NOCONFIRMATION 不显示系统确认对话框。

Const FOF_NOCONFIRMATION = &H10

'FOF_NOCONFIRMMKDIR 不提示是否新建目录。

Const FOF_NOCONFIRMMKDIR = &H200

'FOF_SILENT 不显示进度对话框

Const FOF_SILENT = &H4

Private Sub Command1_Click()

'例子:

Dim SHFileOp As SHFILEOPSTRUCT

' 拷贝

SHFileOp.wFunc = FO_COPY

SHFileOp.pFrom = "d:\MASM611"

SHFileOp.pTo = "c:\MASM611"

SHFileOp.fFlags = FOF_NOCONFIRMMKDIR

Call SHFileOperation(SHFileOp)

End Sub

或者用命令行

shell "cmd.exe /c xcopy "+chr(34)+"C:\新建文件夹 c:\aa /q /e"脊迟键 +chr(34)


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/tougao/12248546.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-22
下一篇2023-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存