使用os与系统交互,创建文件夹
import os;
def main():
# 切换到d盘目录
os.chdir("d:/");
# os.system可以执行系统命令,创建一个testFile文件;
os.system("md testFile")
# os.getcwd() 获得磁盘名字
print("{}-中创建了一个 testFile 子目录".format(os.getcwd()));
if __name__ == '__main__':
main();
接受返回的执行结果
import os;
def main():
fd = os.popen(cmd="echo 奥特曼打小怪兽",mode="r",buffering=2);
val = fd.readline();
while val:
print(val,end="");
val = fd.readline();
if __name__ == '__main__':
main();
执行以下脚本会报错,没有权限,需要管理员权限运行cmd之后
运行你的python文件
import os;
def main():
# 你的源文件
src_path = "D:/testFile";
# 要建立软连接的文件
dst_path = "D:/testFile2";
# 创建软连接
os.symlink(src_path,dst_path);
if __name__ == '__main__':
main();
os.path子模块
代码示例如下
import os;
PATH = "D:\\testFile\\微信图片_20210317161927.jpg";
def main():
# 如果路劲存在
if os.path.exists(PATH):
print("绝对路径:{}".format(os.path.abspath(PATH)));
print("父路径:{}".format(os.path.dirname(PATH)));
print("文件名称:{}".format(os.path.basename(PATH)));
print("文件大小:{}".format(os.path.getsize(PATH)));
print("当前路径是否为文件:{}".format(os.path.isfile(PATH)));
print("当前路径是否为目录:{}".format(os.path.isdir(PATH)));
if __name__ == '__main__':
main();
~代表用户的根路径
import os;
def main():
# ~代表用户的根路径
print(os.path.expanduser("~"));
if __name__ == '__main__':
main();
import os,time,datetime;
PATH = "D:\\testFile\\微信图片_20210317161927.jpg";
def main():
# 如果路劲存在
if os.path.exists(PATH):
# 输出为时间戳
print("文件创建时间:{}".format(os.path.getctime(PATH)));
# 格式化日期
print("文件创建时间:{}".format(datetime.datetime.strptime(time.ctime(os.path.getctime(PATH)),"%a %b %d %H:%M:%S %Y")));
print("文件修改时间:{}".format(datetime.datetime.strptime(time.ctime(os.path.getmtime(PATH)),"%a %b %d %H:%M:%S %Y")));
if __name__ == '__main__':
main();
os.path子模块中的变量
os.path.sep和os.sep是一样的
import os,time,datetime;
PATH_A = "D:"+os.path.sep+"testFile"+os.path.sep+"微信图片_20210317161927.jpg";
PATH_B = "D:"+os.sep+"testFile"+os.sep+"微信图片_20210317161927"+os.path.extsep+"jpg";
def main():
# 判断两个路劲是否为同一个文件
if os.path.samefile(PATH_A,PATH_B):
print("两个路劲指向了同一个文件");
if __name__ == '__main__':
main();
os目录操作方法
目录的创建删除
import os,time,datetime;
PATH = "D:"+os.path.sep+"testFile"+os.path.sep+"hello" + os.sep + "message";
def main():
# 如果目录不存在
if not os.path.exists(PATH):
# 创建目录
os.makedirs(PATH);
else:
# 如果存在就删除目录
os.removedirs(PATH);
if __name__ == '__main__':
main();
测试listdir得到当前用户下的子目录
import os;
PATH = os.path.expanduser("~");
def list_all(path):
for per_path in os.listdir(path):
print(per_path);
def main():
list_all(PATH);
if __name__ == '__main__':
main();
输出子目录下的子目录
import os;
PATH = os.path.expanduser("~");
# 不加try会报错PermissionError,因为有些文件就是不让访问的
def list_all(path):
if os.path.isdir(path):
try:
for per_path in os.listdir(path):
# 使用递归继续输出子目录下的子目录
list_all(os.path.join(path, per_path));
except BaseException as error:
print(error);
else:
print(path);
def main():
list_all(PATH);
if __name__ == '__main__':
main();
优化版,python中的os提供了walk
import os;
PATH = os.path.expanduser("~");
def main():
for path,dirnames,filenames in os.walk(PATH):
print("文件路径:{},子目录列表:{},子文件列表:{}".format(path,dirnames,filenames));
if __name__ == '__main__':
main();
进行文件名字的修改
import os;
SRC_PATH = "D:" + os.sep + "testFile";
DST_PATH = "D:" + os.sep + "testFile2";
def main():
# 如果源目录存在,修改名字
if os.path.exists(SRC_PATH):
os.rename(SRC_PATH,DST_PATH);
if __name__ == '__main__':
main();
上述教材来源于csdn python免费课堂