适用于模块初学者,挺有意思
1.考察sys.argv
写一个脚本,接收两个参数。
第一个参数:文件
第二个参数:内容
请将第二个参数中的内容写入到 文件(第一个参数)中。
执行脚本: python test.py oldboy.txt 你好
参考答案:
from sys import argv
def func(file,cont):
with open(file,mode="a",encoding="utf-8") as f:
f.write(cont)
f1 = argv
func(f1[1],f1[2])
需要注意的是,f1是一个列表,第0个元素是脚本自身,所以索引要从1开始取
2.查看递归的最大次数
import sys
print(sys.getrecursionlimit())
3.请根据path找到obj目录下所有文件的路径,并打印出来。
这个主要考察walk方法的使用,随便找一个文件然后用abspath(),dirname()这些方法返回到上面几层目录然后一遍历就完事
参考答案
import os
path = r"装饰器和模块练习.py"
abs_road = os.path.abspath(path)
for i in range(abs_road.count("\\") - 2): # 这里有很多方法
abs_road = os.path.dirname(abs_road)
print(abs_road)
tree = os.walk(abs_road)
for road, folder, file_list in tree:
for file in file_list:
print(rf"{road}\{file}") # 这里用os.path.join()也可