课堂练习8 文件操作

第1关:文本文件读写

编程要求
在右侧编辑器补充代码,完成下列文件相关操作。
1、使用open函数打开文件(/src/step1/poit1)
2、使用read函数读出整个文件。
3、输出所读文件内容。
4、关闭文件。
5、使用read函数读出文件的前10个字并输出。
6、返回文件头,读取一行并输出。
7、使用tell输出当前文件指针的位置。
8、定义一个字符串变量保存如下信息:‘人生苦短,要学Python’
9、以写方式打开一个文件,保存上述信息(/src/step1/poit2.txt)。关闭该文件。
10、打开刚才保存的文件,使用readlines读出并输出文件内容。

'''
1、使用open函数打开文件(src/step1/poit1)
2、使用read函数读出整个文件。
3、输出所读文件内容。
4、关闭文件。
5、使用read函数读出文件的前10个字并输出。
6、返回文件头,读取一行并输出。
7、使用tell输出当前文件指针的位置。
8、定义一个字符串变量保存如下信息:‘人生苦短,要学Python’
9、以写方式打开一个文件,保存上述信息(src/step1/poit2.txt)。关闭该文件。
10、打开刚才保存的文件,使用readlines读出并输出文件内容。
'''

#--------------------begin ------------------------
# 1、使用open函数打开文件(src/step1/poit1)
f1 = open('src/step1/poit1.txt', 'r', encoding="utf8")

# 2、使用read函数读出整个文件。
content = f1.read()

# 3、输出所读文件内容。
print(content)

# 4、关闭文件。
f1.close()

# 5、使用read函数读出文件的前10个字并输出。
f1 = open('src/step1/poit1.txt', 'r', encoding="utf8")
first_ten_chars = f1.read(10)
print(first_ten_chars)

# 6、返回文件头,读取一行并输出。
f1.seek(0)
first_line = f1.readline()
print(first_line)

# 7、使用tell输出当前文件指针的位置。
current_position = f1.tell()
print(current_position)

# 8、定义一个字符串变量保存如下信息:‘人生苦短,要学Python’
info = '人生苦短,要学Python'

# 9、以写方式打开一个文件,保存上述信息(src/step1/poit2.txt)。关闭该文件。
with open('src/step1/poit2.txt', 'w', encoding="utf8") as f2:
    f2.write(info)

# 10、打开刚才保存的文件,使用readlines读出并输出文件内容。
with open('src/step1/poit2.txt', 'r', encoding="utf8") as f2:
    lines = f2.readlines()
    print(lines)






#--------------------end --------------------------

 第2关:pickle文件读写

编程要求
根据提示,在右侧编辑器补充代码,完成下列操作:
1、从键盘输入一个列表。
2、使用pickle模块的方法保存(src\step 2\pk.dat)。(wb)
3、打开所保存的文件。
4、读取文件内容到变量t。(rb)
5、输出t的内容。
6、输出t的变量类型

'''
1、从键盘输入一个列表。
2、使用pickle模块的方法保存(src/step2/pk.dat)。(wb)
3、打开所保存的文件。
4、读取文件内容到变量t。(rb)
5、输出t的内容。
6、输出t的变量类型。

'''
import pickle
#--------------------begin ------------------------

f1=open('src/step2/pk.dat','wb')


f2=open('src/step2/pk.dat','wb')
import pickle

# 1、从键盘输入一个列表。
input_list = input()
input_list = eval(input_list)  # 将输入的字符串转换为列表

# 2、使用pickle模块的方法保存(src/step2/pk.dat)。(wb)
with open('src/step2/pk.dat', 'wb') as f1:
    pickle.dump(input_list, f1)

# 3、打开所保存的文件。
with open('src/step2/pk.dat', 'rb') as f2:
    # 4、读取文件内容到变量t。(rb)
    t = pickle.load(f2)

# 5、输出t的内容。
print(t)

# 6、输出t的变量类型。
print(type(t))

#--------------------end -------------------------

第3关:目录操作

编程要求
根据提示,在右侧编辑器补充代码,完成如下操作:
(1)得到脚本当前工作目录并输出。
(2)输出当前脚本目录下所有文件名和目录名。
(3)进入temp文件夹,并通过getcwd函数获得该文件夹的完整路径并输出。
(4)输出temp目录下所有文件名和目录名。
(5) 把temp目录下的文件名和目录名分别放在两个列表对象s1和s2中。
(6)输出s1和s2。
(7)使用getsize方法获得s1中所有文件的大小。

'''
(1)得到脚本当前工作目录并输出。
(2)输出当前脚本目录下所有文件名和目录名。
 (3) 进入temp文件夹,并通过getcwd函数获得该文件夹的完整路径并输出。
(4)输出temp目录下所有文件名和目录名。
 (5) 把temp目录下的文件名和目录名分别放在两个列表对象s1和s2中。
(6)输出s1和s2。
(7)使用getsize方法获得s1中所有文件的大小并输出。
'''
import os
#--------------------begin ------------------------

# (1) 得到脚本当前工作目录并输出。
current_directory = os.getcwd()
print(current_directory)

# (2) 输出当前脚本目录下所有文件名和目录名。
files_and_directories = os.listdir(current_directory)
print(files_and_directories)

# (3) 进入temp文件夹,并通过getcwd函数获得该文件夹的完整路径并输出。
os.chdir('/data/workspace/myshixun/src/step3/temp')
temp_directory = os.getcwd()
print(temp_directory)

# (4) 输出temp目录下所有文件名和目录名。
temp_files_and_directories = os.listdir(temp_directory)
print(temp_files_and_directories)

# (5) 把temp目录下的文件名和目录名分别放在两个列表对象s1和s2中。
s1 = []
s2 = []
for item in temp_files_and_directories:
    if os.path.isfile(os.path.join(temp_directory, item)):
        s1.append(item)
    elif os.path.isdir(os.path.join(temp_directory, item)):
        s2.append(item)

# (6) 输出s1和s2。
print(s1)
print(s2)

# (7) 使用getsize方法获得s1中所有文件的大小并输出。
file_sizes = {}
for file in s1:
    file_path = os.path.join(temp_directory, file)
    file_sizes[file] = os.path.getsize(file_path)

for file, size in file_sizes.items():
        print(f"{file}----{size}")




#--------------------end--=------------------------

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值