Python实验一:文件&目录操作

**

本次实验旨在加深对文件操作的熟悉度。

**

#!/usr/bin/python3
# -*- coding:UTF-8 -*-
import shutil;
import os;

# 【文件路径操作】
# 生成路径方法
str = os.path.join('usr', 'bin', 'spam');
# print(str); # usr\bin\spam

# 获取当前工作目录
current_dir = os.getcwd();
# print(current_dir);# E:\Python3Excute

# 切换当前工作目录
# os.chdir('E:/');
# ch_dir = os.getcwd();
# print(ch_dir);  # E:\

# 创建新的文件夹:第一参数表路径,第二个参数表权限
os.makedirs('test_dir', 0o777, True);

# 绝对路径返回:True,相对路径:False
path = os.path.isabs('E:\\');
# print(os.path.abspath('.\\ss'));  # 返回字符串的绝对路径(即当前文件的绝对路径)

path_1 = 'E:\\Python3Excute\\copy.py';
# print(os.path.basename(path_1));  # copy.py; 返回一个字符串,包含path参数中最后一个斜杠之【后】的所有内容
# print(os.path.dirname(path_1));  # E:\Python3Excute; 返回一个字符串,包含path参数中最后一个斜杠之【前】的所有内容
# print(os.path.split(path_1));  # ('E:\\Python3Excute', 'copy.py') ;获取一个路径的目录名称和基本名称,以元组的形式返回
# print(path_1.split(os.path.sep));# ['E:', 'Python3Excute', 'copy.py']; 以列表的形式返回【相当于字符串分割】

path_2 = 'E:\\Python3Excute\\2.txt';  # 存在
path_3 = 'E:\\Python3Excute\\3.txt';
# print(os.path.getsize(path_2)); # 50; 返回文件中的字节数

# 【文件检查:文件有效性检查】
# print(os.listdir('E:\\Python3Excute')); #[2.txt,A.txt....]; 返回当前目录下的文件名称(包含目录)
# print(os.path.exists(path_3));  # False; 检查文件或者目录是否存在(存在:True,否则:False)
# print(os.path.isdir(path_2));  # 检查是否为目录
# print(os.path.isfile(path_2));  # 检查是否为文件

# 【文件操作:读写操作】
# fp=open(path_2);
# print(fp.read()); # 输出文本文件所有内容
# print(fp.readline()); # 输文s本文件第一行内容(可以通过循环的方式全部读取)
# print(fp.readlines()); # ['Hello World\n', 'Python\n', '12344'] 以列表形式输出文本文件所有行内容

# fp3=open(path_3,'a');# a:追加模式,w:覆盖模式
# fp3.write('Hesssssss\n');
# fp3.close(); # 关闭文件,释放资源

#【文件存储数据:二进制文件】
import shelve;  # 【二进制文件】
# 生成mydata.bak,mydata.dat,mydata.dir,三个文件【二进制文件】即shelve以文件的形式存储数据
# sheftFile = shelve.open('mydata');  # 设置以上生成三个文件的目录,
# cats = ['Zophiess', 'Pookasss', 'Simon11'];
# sheftFile['cats'] = cats;
# sheftFile['oks'] = cats;
# sheftFile.close();

#【原样输出数据类型】
import pprint
cats = [{'name': 'Zophie', 'desc': 'chubby'}, {'name': 'Pooka', 'desc': 'fluffy'}]
# 返回一个原始类型的字符串:"[{'desc': 'chubby', 'name': 'Zophie'}, {'desc': 'fluffy', 'name': 'Pooka'}]"
# 主要是用来便于分析数据结构类型
# str = pprint.pformat(cats);

# ------------------------------------------------shuti[文件&目录]复制移动等操作----
import shutil;
# 【复制文件】
# shutil.copy('2.txt','2_bak.txt');
# 【移动并重命名文件】【弊端,如果存在,会直接覆盖文件,如果前面包含目录,请(先检查目录)】
# shutil.move('2.txt','2_move.txt');
# 【删除文件】
# os.unlink('2_move.txt');
# 【删除目录】
# os.rmdir('test_dir');  # 必须是空目录
# 【删除目录】
# shutil.rmtree('test_dir');# 删除目录及所有的子目录和文件

import send2trash; # 需要安装:pip3 install send2trash
# 【删除文件至回收站】
# send2trash.send2trash('2_bak.txt');# 删除文件或目录(直接送到垃圾箱)

# 【遍历目录】
# for forlder, subfulders, filename in os.walk('E:\\Python3Excute\\test_dir'):
# print(forlder);  # 当前文件夹的名(如果有子目录会依次循环)
# print(subfulders);  # 当前文件夹中的文件列表,如果目录为空,则以[ ]表示
# print(filename);  # 当前文件夹中的文件的字符串列表,如果目录为空,则以[ ]表示

import zipfile, os;

# 【读取压缩文件】
# example = zipfile.ZipFile('test_dir.zip');  # 读取压缩文件
# print(example.namelist());#以列表的形式,展示压缩文件中的内容
# example.extractall();  # 解压文件;如果指定单个文件解决则使用extract('1.txt','自定义指定的目录')

# 【创建并压缩文件】
example = zipfile.ZipFile('test.zip', 'w');
example.write('3.txt',compress_type=zipfile.ZIP_DEFLATED);# 第二个参数为压缩算法类型
os.unlink('3.txt');
example.close();

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值