os里常用的几个

import os, sys

file = os.open("xixx.txt", os.O_RDWR | os.O_CREAT)
print(file)
print(type(file))   # int
os.write(file, 'hello world!!!')
os.close(file)
print('successfully closed!')


file = os.open("xixx.txt", os.O_RDWR)
ret = os.read(file, 18)   # 表示读取的字节数,返回的字符串
print(type(ret))
print(ret)


# 打开文件
path = "."  # or "./"
dirs = os.listdir(path)   # 输出所有文件和文件夹, 注意子目录并没有输出,返回的是文件或者是文件名的列表
print("dirs", dirs)
print("type(dirs),", type(dirs))

# 返回当前的工作目录
print("当前的工作目录是:%s" % os.getcwd())   # 就是"."的内容


# 重命名 os.rename(src, dst)
# 比如把当前目录的"xixi.txt" 改成"haha.txt"


# os.rename("haha.txt", "xixi.txt")


# 注意,这里的"haha.txt"因为是在当前的工作目录,但是如果想要重命名的不是在当前目录的话,
# 那么参数src和dst最好是绝对路径,为了麻烦,可以用
# src = os.path.join(path, oldname), dst = os.path.join(path, oldname)
# 这里的path是要重命名的那个文件所在的目录。


# path2 = '..'
# os.rename(os.path.join(path2, "zhuan.txt"), os.path.join(path2, "qian.txt"))
# print("success")


"""注:使用上面的os.listdir()和os.rename(src, dst)可以实现给一个文件夹中的文件批量重命名,
比如把一个里面的全部是.jpg结尾的改成.png结尾的
"""

# os.walk()
# hh = os.walk(".", topdown=True)  # 这时候hh是个生成器, 注意不是元组
# for root, dirs, files in hh:
#     print(root, dirs, files)
#     for ev in dirs:   # 当前目录中所有的子目录
#         print(os.path.join(root, ev))
#     print("111111111111111")
#     for ev in files:
#         print(os.path.join(root, ev))

"""通过多建立几个文件和文件夹就可以发现,当是True的时候它的运行模式是这样的:
.
├── __init__.py
├── dealLabel.py
├── demo.py
├── fileinput_usage.py
├── foo.txt
├── get_url.py
├── hanyi.py
├── learn_xlwings.py
├── newstat_scores_1.py
├── newstat_scores_2.py
├── os.walk_usage.py
├── os_usage.py
├── plot_roc.py
├── ren.py
├── roc_1.py
├── roc_2.py
├── shutil_usage.py
├── tagresults.py
├── teacher
│   └── student
├── xiaozhang
│   └── nv
├── xix.txt
├── xixi.txt
└── xixx.txt

这是我的运行的目录。
运行时,第一轮  ('.', ['xiaozhang', 'teacher'], files)   # 太长了
第二轮是 ('./xiaozhang', ['nv'], [])
        ('./xiaozhang/nv', [], [])
然后是   ('./teacher', ['student'], [])
        ('./teacher/student', [], [])
所以可以看出来,它的走法是从树根一级一级地往上,直到把一个叉走完时,才会回来走另一个叉。
每深一级,root就改变。
"""


hh = os.walk(".", topdown=False)  # 这时候hh是个生成器, 注意不是元组
for root, dirs, files in hh:
    print(root, dirs, files)
    # for ev in dirs:   # 当前目录中所有的子目录
    #     print(os.path.join(root, ev))
    # print("111111111111111")
    # for ev in files:
    #     print(os.path.join(root, ev))
    #
# 这次打出来的是
# ('./xiaozhang/nv', [], [])
# ('./xiaozhang', ['nv'], [])
# ('./teacher/student', [], [])
# ('./teacher', ['student'], [])
# ('.', ['xiaozhang', 'teacher'], ['learn_xlwings.py', 'newstat_scores_1.py', 'plot_roc.py', 'dealLabel.py', 'hanyi.py', 'roc_2.py', 'ren.py', 'shutil_usage.py', 'os.walk_usage.py', '__init__.py', 'os_usage.py', 'xixi.txt', 'foo.txt', 'tagresults.py', 'xix.txt', 'xixx.txt', 'roc_1.py', 'get_url.py', 'fileinput_usage.py', 'demo.py', 'newstat_scores_2.py'])

"""topdown=False是从树梢开始的,也是一个叉一个叉的往下,直至最根。"""
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值