os库使用+彩蛋圣诞树
【摘要】
os库的使用
os 库提供通用的、基本的操作系统交互功能
os 库是Python标准库,包含几百个函数,常用的有路径操作、进程管理、环境参数等。 路径操作 :os.path子库,处理文件路径及信息 进程管理:启动系统中其他程序 环境参数:获得系统软硬件信息等环境参数
路径操作
os.path子库以path为入口...
os库的使用
os 库提供通用的、基本的操作系统交互功能
-
os 库是Python标准库,包含几百个函数,常用的有路径操作、进程管理、环境参数等。
-
路径操作 :
os.path
子库,处理文件路径及信息 -
进程管理:启动系统中其他程序
-
环境参数:获得系统软硬件信息等环境参数
路径操作
os.path
子库以path为入口,用于操作和处理文件路径
import os.path` 或 `import os.path as op
函数 | 描述 |
---|---|
os.path.abspath(path) |
返回path在当前系统中的绝对路径 >>>os.path.abspath("data.txt") 'C:\\mysoft\\Python36\\MyScript\\data.txt' |
os.path.normpath(path) |
归一化path的表示形式,统一用\分隔路径 >>>os.path.abspath("D:\\PYE\\file.txt") 'D:\\PYE\\file.txt' |
os.path.relpath(path) |
返回当前程序与文件之间的相对路径 >>>os.path.relpath('C:\mysoft\Python36\MyScript\data.txt') 'MyScript\\data.txt' |
os.path.dirname(path) |
返回path中的目录名称 >>>os.path.dirname('C:\mysoft\Python36\MyScript\data.txt') 'C:\\mysoft\\Python36\\MyScript' |
os.path.basename(path) |
返回path中最后的文件名称 >>>os.path.basename('C:\mysoft\Python36\MyScript\data.txt') 'data.txt' |
os.path.join(path,*paths) |
组合path与paths,返回一个路径字符串 >>>op.join('C:/','mysoft/Python36/MyScript/data.txt') 'C:/mysoft/Python36/MyScript/data.txt' >>>op.join('C:\\','mysoft\Python36\MyScript\data.txt') 'C:\\mysoft\\Python36\\MyScript\\data.txt' |
os.path.exists(path) |
判断path对应文件或目录是否存在,返回True或False |
os.path.isfile(path) |
判断path所对应是否为已存在的文件,返回True或False |
os.path.isdir(path) |
判断path所对应是否为已存在的目录,返回True或False |
os.path.getatime(path) |
返回path对应文件或目录上一次的访问时间 |
os.path.getmtime(path) |
返回path对应文件或目录最近一次的修改时间 |
os.path.getctime(path) |
返回path对应文件或目录的创建时间 |
os.path.getsize(path) |
返回path对应文件的大小,以字节为单位 |
进程管理
os.system(command)
-
执行程序或命令command
-
在Windows系统中,返回值为cmd的调用返回信息
import os os.system("C:\\Windows\\System32\\mspaint.exe C:\\mysoft\\Python36\\MyScript\\grwordcloudv1.png")
环境参数
获取或改变系统环境信息
函数 | 描述 |
---|---|
os.chdir(path) |
修改当前程序操作的路径 |
os.getcwd() |
返回程序的当前路径 |
os.getlogin() |
获得当前系统登录用户名称 |
os.cpu_count() |
获得当前系统的CPU数量 |
os.urandom(n) |
获得n个字节长度的随机字符串,通常用于加解密运算 |
最后,放一个圣诞树。
-
#include <windows.h>
-
#include <math.h>
-
#include <stdio.h>
-
#include <stdlib.h>
-
#define PI 3.14159265359
-
#define T px + scale * r * cosf(theta), py + scale * r * sin(theta)
-
float sx, sy;
-
float sdCircle(float px, float py, float r) {
-
float dx = px - sx, dy = py - sy;
-
return sqrtf(dx * dx + dy * dy) - r;
-
}
-
float opUnion(float d1, float d2) {
-
return d1 < d2 ? d1 : d2;
-
}
-
float f(float px, float py, float theta, float scale, int n) {
-
float d = 0.0f;
-
for (float r = 0.0f; r < 0.8f; r += 0.02f)
-
d = opUnion(d, sdCircle(T, 0.05f * scale * (0.95f - r)));
-
if (n > 0)
-
for (int t = -1; t <= 1; t += 2) {
-
float tt = theta + t * 1.8f;
-
float ss = scale * 0.9f;
-
for (float r = 0.2f; r < 0.8f; r += 0.1f) {
-
d = opUnion(d, f(T, tt, ss * 0.5f, n - 1));
-
ss *= 0.8f;
-
}
-
}
-
return d;
-
}
-
int ribbon() {
-
float x = (fmodf(sy, 0.1f) / 0.1f - 0.5f) * 0.5f;
-
return sx >= x - 0.05f && sx <= x + 0.05f;
-
}
-
int main(int argc, char* argv[]) {
-
int n = argc > 1 ? atoi(argv[1]) : 3;
-
float zoom = argc > 2 ? atof(argv[2]) : 1.0f;
-
for (sy = 0.8f; sy > 0.0f; sy -= 0.02f / zoom, putchar('\n'))
-
for (sx = -0.35f; sx < 0.35f; sx += 0.01f / zoom) {
-
if (f(0, 0, PI * 0.5f, 1.0f, n) < 0.0f) {
-
if (sy < 0.1f) {
-
putchar('.');
-
} else {
-
if (ribbon()) {
-
putchar('=');
-
} else {
-
putchar("............................#j&o"[rand() % 32]);
-
}
-
}
-
} else {
-
putchar(' ');
-
}
-
}
-
Sleep(1000);
-
printf("\n\n\n");
-
for (size_t i = 0; i < 40; i++) {
-
putchar(' ');
-
}
-
//_sleep(5000);
-
printf("冬至快乐, baby~!\n");
-
Sleep(500);
-
for (size_t i = 0; i < 40; i++) {
-
putchar(' ');
-
}
-
printf("Never say die.\n");
-
Sleep(500);
-
for (size_t i = 0; i < 40; i++) {
-
putchar(' ');
-
}
-
printf("2021/12/21, kewei\n");
-
getchar();
-
}
文章来源: blog.csdn.net,作者:irrationality,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/weixin_54227557/article/details/122074647
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)