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是從樹梢開始的,也是一個叉一個叉的往下,直至最根。"""
os裏常用的幾個
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.