Python基础学习17:文件复制和OS模块

114 阅读1分钟

目录:

一.文件复制

二.OS模块

—————————————————————————————————————————————————————————————————————————————————

一.文件复制:

1.复制流程:

pycharm先读取被复制文件(mode = rb),在重新写将内容写入新建文件(mode = wb)


with 结合open使用, 可以自动实现文件复制,释放资源

例子:

with open(r'D:\临时文件暂放\路径\flin.txt', 'rb') as stream:
    container = stream.read() # 读取文件内容
    with open(r'D:\临时文件暂放\路径2\flin.txt', 'wb') as watream:
        watream.write(container)
print('文件复制完成')

——————————————————————————————————————————————————————————————————————————————————

二.OS模块:

OS模块是一个内置模块,已经存在于pycham的外部库,对其调用os函数来完成操作要求

1.os函数们:

dirname()  获取当前文件路径
join()     对路径进行拼接
split()    从路径中分割出文件名   
splitext()   从路径中分割出文件扩展名
getsize     获取文件字节个数
 
 isabs  判断是一个绝对路径吗 
 isfile   判断是一个文件吗
 isdir    判断是一个文件夹吗
注意:它们都是加在os.path.后面进行使用的

例子:

with open(r'D:\临时文件暂放\路径\flin.txt', 'rb') as stream:
    container = stream.read() # 读取文件内容

    print(stream.name)    # 截取被复制的文件的文件名
    a = stream.name
    b = a[a.rfind('\')+1:]

    path = os.path.dirname(__file__) # 获取当前文件的所在目录,以绝对路径的样式返回

    reton = os.path.join(path, b) # 不能直接将path填入,因为open函数是将制定内容写入文件,而不能写文件夹,所以使用拼接,接入一个自定义的文件名
    
   # 这里的join可以填入多个参数,但必须是字符串类型,另外他会自动补齐斜杠
    with open(reton, 'wb') as watream:
        watream.write(container)
print('文件复制完成')