python創建目錄文件夾(python在當前目錄下創建文件夾)

  • 1、Python無法創建文件夾,如何制定創建目錄?
  • 2、python 字典創建問題?
  • 3、如何用python創建文件夾
  • 4、R、python的文件夾操作
  • 5、Python其實很簡單 第十六章 目錄管理
  • 6、python語言,如何在已有的文件夾下創建新的文件夾?

這個是因為權限不夠,如果你想在運行 Python 的文件夾下創建的話,需要使用 ./主目錄,注意前面要有一個點,否則這個目錄就會創建在根目錄下面。如果你就是想在根目錄下面創建的話,需要用 root 用戶運行,也就是 sudo python xxxx.py ,這時這個「主目錄」創建的位置是和 /mnt /usr /etc 等目錄平級的,一般不推薦放在這裡。

python創建文件與文件夾1.文件的創建:一般創建.txt文件函數open(file,’mode’)file為文件地址,若不存在則新建,若不再本目錄下,可以寫絕對路徑mode有以下幾種方式:r只讀 rb二進制只讀 w寫入且原有內容覆蓋 a在文件末尾追加打開後文件需要.close()關閉2.文件夾的創建:使用os.mkdir(ad)方式建立,ad為新建文件夾名稱的絕對路徑

首先可以用Python的os模塊中的exists來判斷目錄是否存在。

python學習網,大量的免費python視頻教程,歡迎在線學習!

相關推薦:《Python教程》

如果目錄或者是文件存在則os便會返回TRUE的結果。

創建目錄可以先用getcwd取得當前目錄之後再拼接目錄名稱即可創建文件夾了。

Python的os模塊中的mkdir也可以直接用絕對路徑來創建出一個空的文件夾。

如果想要創建多級目錄則要用到os模塊中的makedirs才行。

python學習網,大量的免費python視頻教程,歡迎在線學習!

Python OS模塊

1.重命名:os.rename(old, new)

2.刪除:os.remove(file)

3.列出目錄下的 文件 :os.listdir(path)

4.獲取當前工作目錄:os.getcwd()

5.改變工作目錄:os.chdir(newdir)

6.創建多級目錄:os.makedirs(r”c:/python /test”)

7.創建單個目錄:os.mkdir(“test”)

8.刪除多個目錄:os.removedirs(r”c:/python”) #刪除所給路徑最後一個目錄下所有空目錄。

9.刪除單個目錄:os.rmdir(“test”)

10.獲取文件屬性:os.stat(file)

11.修改文件權限與時間戳:os.chmod(file)

12.執行操作系統 命令:os.system(“dir”)

13.啟動新進程:os.exec(), os.execvp()

14.在後台執行程序:osspawnv()

15.終止當前進程:os.exit(), os._exit()

16.分離文件名:os.path.split(r”c:/python/ hello.py “) – (“c://python”, ” hello.py “)

17.分離擴展名:os.path.splitext(r”c:/python/ hello.py “) – (“c://python//hello”, “.py”)

18.獲取路徑名:os.path.dirname(r”c:/python/ hello.py “) – “c://python”

19.獲取文件名:os.path.basename(r”r:/python/hello.py”) – “hello.py”

20.判斷文件是否存在:os.path.exists(r”c:/python/hello.py”) – True

21.判斷是否是絕對路徑:os.path.isabs(r”./python/”) – False

22.判斷是否是目錄:os.path.isdir(r”c:/python”) – True

23.判斷是否是文件:os.path.isfile(r”c:/python/hello.py”) – True

24.判斷是否是鏈接文件:os.path.islink(r”c:/python/hello.py”) – False

25.獲取文件大小:os.path.getsize(filename)

26.*******:os.ismount(“c://”) – True

27.搜索目錄下的所有文件:os.path.walk()

[2.shutil]

1.複製單個文件:shultil.copy(oldfile, newfle)

2.複製整個目錄樹:shultil.copytree(r”./setup”, r”./backup”)

3.刪除整個目錄樹:shultil.rmtree(r”./backup”)

[3.tempfile]

1.創建一個唯一的臨時文件:tempfile.mktemp() – filename

2.打開臨時文件:tempfile.TemporaryFile()

[4.StringIO] #cStringIO是StringIO模塊的快速實現模塊

1.創建內存 文件並寫入初始數據 :f = StringIO.StringIO(“Hello world!”)

2.讀入內存文件數據:print f.read() #或print f.getvalue() – Hello world!

3.想內存文件寫入數據:f.write(“Good day!”)

4.關閉內存文件:f.close()

rm(list=ls())

path = ‘J:/lab/EX29 –在R語言中進行文件(夾)操作’

setwd(path)

cat(“file A\n”, file=”A”) #創建一個文件A,文件內容是’file A’,’\n’表示換行,這是一個很好的習慣

cat(“file B\n”, file=”B”) #創建一個文件B

file.append(“A”, “B”) #將文件B的內容附到A內容的後面,注意沒有空行

file.create(“A”) #創建一個文件A, 注意會覆蓋原來的文件

file.append(“A”, rep(“B”, 10)) #將文件B的內容複製10便,並先後附到文件A內容後

file.show(“A”) #新開工作窗口顯示文件A的內容

file.copy(“A”, “C”) #複製文件A保存為C文件,同一個文件夾

dir.create(“tmp”) #創建名為tmp的文件夾

file.copy(c(“A”, “B”), “tmp”) #將文件夾拷貝到tmp文件夾中

list.files(“tmp”) #查看文件夾tmp中的文件名

unlink(“tmp”, recursive=F) #如果文件夾tmp為空,刪除文件夾tmp

unlink(“tmp”, recursive=TRUE) #刪除文件夾tmp,如果其中有文件一併刪除

file.remove(“A”, “B”, “C”) #移除三個文件

為實現「按名存取」,必須建立文件名與輔存空間中物理地址的對應關係,體現這種對應關係的數據結構稱為文件目錄。文件目錄表目至少要包含文件名、文件的類型、文件的長度、訪問權限、建立時間、訪問時間和文件存儲地址等內容。通過前面一章的介紹,我們已經知道在文件信息中已經包含了文件名、文件類型訪問權限等信息,而存儲地址的信息則包含在目錄信息中。

16.1路徑

路徑通常用一個字符串來表示,可以按照路徑信息定位到一個目錄或文件。如:「C:UsersAdministratorPictures1.jpg」這個信息可以非常方便的找到這個圖片文件,「C:UsersAdministratorPictures」這個信息可以幫助我們找到更多的圖片文件。

這裡所說的「路徑」和上網時碰到的「地址」含義比較相似,互聯網就相當於將個人電腦可以訪問的範圍擴大了,互聯網中的地址也是對應某一個存儲空間的路徑,按照地址可以訪問互聯網上的信息,就如同按照路徑可以找到計算機中的文件一樣。

在Python中,可以導入 os模塊 來進行目錄操作。

1、獲取當前工作目錄getcwd()函數

例:

import os

print(os.getcwd())

運行結果:

C:UsersAdministratorAppDataLocalProgramsPythonPython38

這個路徑是當前Python IDLE所在的地址。

2、獲取文件的絕對路徑abspath()函數

abspath()函數是os模塊的子模塊path提供的一個函數。用法舉例如下:

import os

print(os.path.abspath(r’test.txt’))

運行結果:

C:UsersAdministratorAppDataLocalProgramsPythonPython38 est.txt

16.2 目錄操作類函數

1、判斷目錄是否存在exists()函數

exists()函數是os模塊的子模塊path中的函數。使用方法舉例如下:

import os

print(os.path.exists(r’C:UsersAdministratorPictures1.jpeg’))

輸出結果:

True

2、創建目錄mkdir()函數和makedirs()函數

mkdir()函數和makedirs()函數都是由os模塊提供的,下面舉例說明用法和區別。

例1:

import os

path=’d:test’

if not os.path.exists(path):

os.makedirs(path)

print(‘該文件目錄創建成功!’)

如果目錄d: est已存在,則不再創建;若不存在,則創建。

例2:

import os

path=’d:testtest1test11′

if not os.path.exists(path):

os.makedirs(path)

print(‘該文件目錄創建成功!’)

雖然目錄d: est已存在,但可以在其下繼續創建子目錄。上面的代碼可以成功地創建d: est est1 est11目錄。

mkdir()函數和makedirs()函數用法基本一樣,不同之處在於mkdir()函數只能能創建一級目錄。

3、刪除目錄函數rmdir()函數

rmdir()函數是由os模塊提供的。

例如:通過上面的例子已經建立了d: est est1 est11目錄,現在去刪除子目錄test11(此子目錄為空目錄),代碼如下:

import os

os.rmdir(‘d:testtest1test11’)

如果要刪除的目錄非空(其下還包含有文件或文件夾),則不能刪除,並且出現Windows文件操作錯誤的提示(Python是調用操作系統命令完成文件和目錄操作的)。譬如d: est目錄下含有有子目錄,則不能對其進行如下刪除操作。

import os

os.rmdir(‘d:test’)

此時,會出現如下錯誤提示:

Traceback (most recent call last):

File “C:/Users/zym/AppData/Local/Programs/Python/Python39/4.py”, line 10, in

os.rmdir(‘d:test’)

OSError: [WinError 145] 目錄不是空的。: ‘d:test’

4、刪除非空目錄函數rmtree()函數

rmtree()函數是由Python內置的標準模塊shutil提供的,可以刪除目錄及目錄下的文件和子目錄。如刪除d: est目錄及其下的子目錄和文件,可用如下代碼:

import shutil

shutil.rmtree(‘d:test’)

5、遍歷目錄walk()函數

walk()函數是由os模塊提供的。

語法格式:

os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])

其中,top是所要遍歷的目錄的地址;topdown為可選參數,為 True時自上而下遍歷 目錄,為False時自下而上遍歷目錄,默認值為True;onerror為可選參數,用於指定異常處理方式,默認為忽略;followlinks為可選參數,如果為 True,則會遍歷目錄下的快捷方式(linux 下是軟連接 symbolic link )實際所指的目錄(默認關閉),如果為 False,則優先遍歷 top 的子目錄。

該函數的返回值為一個三元組(root,dirs,files)。root 所指的是當前正在遍歷的這個文件夾的本身的地址;dirs 是一個 list ,內容是該文件夾中所有的目錄的名字(不包括子目錄);files 同樣是 list , 內容是該文件夾中所有的文件(不包括子目錄)。

例:遍歷d: est目錄及其子目錄下的所有子目錄和文件:

d: est目錄及其下的子目錄和文件

import os

path=’d:test’

tups=os.walk(path) # 函數walk()的返回值為三元組

for root,dirs,files in tups: # 遍歷這個三元組

for name in dirs: #遍歷存放目錄值的元組

print(‘dir:’,os.path.join(root,name))

for name in files: #遍歷存放文件名值的元組

print(‘file:’,os.path.join(root,name))

運行結果如下:

dir: d: est est1

dir: d: est est1 est11

dir: d: est est1新建文件夾

file: d: est est1新建文本文檔.txt

file: d: est est1 est11新建文本文檔.txt

可以使用os包的mkdir函數來創建新的文件夾。

mkdir函數接受一個參數path指定新建文件夾的路徑,示例代碼如下:

import os

cur_dir = ‘D:\curdir’

folder_name = ‘baiduzhidao’

if os.path.isdir(cur_dir):

    os.mkdir(os.path.join(cur_dir, folder_name))

為了確保已有的文件夾真實存在,示例代碼中使用了os.path.isdir函數判斷已有文件夾的路徑是否正確。

新的文件夾的路徑可以由os.path.join函數,將已有文件夾的路徑和新建文件夾文件名連接起來得到。由於Windows操作系統和Linux操作系統,路徑的連接符不同,使用os.path.join連接能夠確保同時在不同的操作系統中正常工作。

原創文章,作者:簡單一點,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/126237.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
簡單一點的頭像簡單一點
上一篇 2024-10-03 23:07
下一篇 2024-10-03 23:07

相關推薦

  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Idea新建文件夾沒有java class的解決方法

    如果你在Idea中新建了一個文件夾,卻沒有Java Class,應該如何解決呢?下面從多個方面來進行解答。 一、檢查Idea設置 首先,我們應該檢查Idea的設置是否正確。打開Id…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • 蝴蝶優化算法Python版

    蝴蝶優化算法是一種基於仿生學的優化算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化算法Python版…

    編程 2025-04-29

發表回復

登錄後才能評論