设为首页 收藏本站
查看: 634|回复: 0

[经验分享] 开始学习python标准库---os

[复制链接]

尚未签到

发表于 2015-4-26 05:57:42 | 显示全部楼层 |阅读模式
学来学去,我才发现,最基础的东西几乎已是无所不能,为啥还去杂乱无章的学这学那?踏踏实实的从标准库学起吧~
今天是os
os.rename:重命名
os.remove:删除文件
os.listdir:用元组列出目录下的所有文件/目录
os.getcwd:获得当前路径
os.chdir:改变路径
os.mkdirs:建立目录层
os.removedirs:删除所给路径中最后一个目录下所有的空目录;rmdir和mkdir函数只能处理单个目录级;
os.stat:处理文件属性。它返回一个类元组对象(stat_result对象, 包含 10 个元素), 依次是st_mode (权限模式), st_ino (inode number), st_dev (device), st_nlink (number of hard links), st_uid (所有者用户 ID), st_gid (所有者所在组 ID ), st_size (文件大小, 字节), st_atime (最近一次访问时间), st_mtime (最近修改时间), st_ctime (平台相关; Unix下的最近一次元数据/metadata修改时间, 或者 Windows 下的创建时间) - 以上项目也可作为属性访问.
os.chmod:修改权限属性
os.utime:修改时间属性
os.system:在当前进程下执行一个新命令, 并等待它完成。命令通过操作系统的标准 shell 执行, 并返回 shell 的退出状态;直接将命令传递给 shell , 所以如果你不检查传入参数的时候会很危险,如果不确定参数的安全性, 那么最好使用EXEC或spawn代替;
os.exec:函数会使用新进程替换当前进程(或者说是"转到进程")

DSC0000.gif DSC0001.gif 使用 os 模块启动新进程
File: os-exec-example-1.py
import os
import sys
program = "python"
arguments = ["hello.py"]
print os.execvp(program, (program,) +  tuple(arguments))
print "goodbye"
hello again, and welcome to the showPython 提供了很多表现不同的exec函数。execvp函数, 它会从标准路径搜索执行程序, 把第二个参数(元组)作为单独的参数传递给程序, 并使用当前的环境变量来运行程序. 其他七个同类型函数请参阅 Python Library Reference .
在 Unix 环境下, 你可以通过组合使用 exec , fork 以及 wait 函数来从当前程序调用另一个程序, 如 Example 1-36 所示. fork 函数复制当前进程, wait 函数会等待一个子进程执行结束
  

使用 os 模块调用其他程序 (Unix)
File: os-exec-example-2.py
import os
import sys
def run(program, *args):
    pid = os.fork()
    if not pid:
        os.execvp(program, (program,) +  args)
    return os.wait()[0]
run("python", "hello.py")
print "goodbye"
hello again, and welcome to the show
goodbye
  fork 函数在子进程返回中返回 0 (这个进程首先从 fork 返回值), 在父进程中返回一个非 0 的进程标识符(子进程的 PID ). 也就是说, 只有当我们处于子进程的时候 "not pid" 才为真.
  fork 和 wait 函数在 Windows 上是不可用的, 但是你可以使用 spawn 函数, 不过, spawn 不会沿着路径搜索可执行文件, 你必须自己处理好这些.

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-60620-1-1.html 上篇帖子: Python: 在winXP系统下使用python正常调用zip命令 下篇帖子: Python实现ini文件操作
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表