第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--=------------------------