python基础-day07-python文件的操作及应用

文件的操作

大前提: 导入os

文件重命名

import os
os.rename("./test/test2.txt","./test/test2-bak.txt")

文件删除

os.remove("./test/test1 - 副本.txt")

新建文件夹

os.mkdir("test2")

获取当前目录

path=os.getcwd()
print(path)

改变目录

语法:
os.chdir ()
相当于在shell中切换环境,后面的代码也会有所影响

os.chdir("./test")
print(os.getcwd())

获取目录列表

语法:
列表变量 = os.listdir(“目录路径”)

test_list=os.listdir("D:\\pycode\\test")  #输出列表
print(test_list)

删除目录

语法:
os.rmdir(“目录路径”)
注意:只能够删除一个空目录

os.rmdir("./test2")

判断是否为目录(文件夹)或者是文件

语法:
os.path.isdir(“目录路径”) 判断该文件是否为一个目录(文件夹)
os.path.isfile(“文件路径”) 判断路径是否为一个文件
注意以上写法有path的哦

print(os.path.isdir("D:\\pycode\\test"))
print(os.path.isfile("D:\\pycode\\test\\test1.txt"))

路径连接

语法:os.path.join(父目录路径,文件名)

new_path=os.path.join("D:/pycode/test_dir","test1.txt")

任意位置的大文本文件的复制

步骤

加载os
输入旧文件名

输入路径名

打开旧文件和新文件

读取旧文件的内容

写入到新文件

关闭两个文件
# 加载os
import os

file_name = input("请输入要复制的文件名:")
path = input("请输入要复制的文件路径:")
# 打开旧文件和新文件
# 绝对路径名,os.path.join(父目录路径,文件名)
'''
新文件的名字后,后缀前加"-副本"的方法:先把文件名file_name以"."从右到左分隔一次,
再以" - 副本."连接成新文件名,再和父目录路径连接
'''
old_file = open(f"{os.path.join(path,file_name)}", "r", encoding="utf-8")
new_file = open(f"{os.path.join(path,' - 副本.'.join(file_name.rsplit('.',1)))}", "w", encoding="utf-8")

# 读取旧文件的内容
# 按字符数循环读取旧文件内容,并添加到新文件,因为要全部添加完毕才关闭文件,且下次要覆盖,所以用w覆盖
tmp = old_file.read(10)
while tmp:  # 当读取到字符,就为真
    new_file.write(tmp)  # 添加到新文件
    tmp = old_file.read(10)  # 继续读取下一次内容,重新赋值给tmp

# 关闭两个文件
old_file.close()
new_file.close()

任意位置的任意文件的复制

和任意位置大文件的复制类似,不同之处在于使用二进制读写文件内容,因为是二进制,所以不需要设置编译码

# 加载os
import os

file_name = input("请输入要复制的文件名:")
path = input("请输入要复制的文件路径:")
# 打开旧文件和新文件
# 绝对路径名,os.path.join(父目录路径,文件名)
'''
新文件的名字后,后缀前加"-副本"的方法:先把文件名file_name以"."从右到左分隔一次,再以" - 副本."连接成新文件名
再和父目录路径连接
'''
old_file = open(f"{os.path.join(path,file_name)}", "rb")
new_file = open(f"{os.path.join(path,' - 副本.'.join(file_name.rsplit('.',1)))}", "wb")

# 读取旧文件的内容
# 按字符数循环读取旧文件内容,并添加到新文件,因为要全部添加完毕才关闭文件,且下次要覆盖,所以用w覆盖
tmp = old_file.read(10)
while tmp:  # 当读取到字符,就为真
    new_file.write(tmp)  # 添加到新文件
    tmp = old_file.read(10)  # 继续读取下一次内容,重新赋值给tmp

# 关闭两个文件
old_file.close()
new_file.close()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值