国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

python怎么創(chuàng)建一個文件夾,用python創(chuàng)建一個文件夾

這篇具有很好參考價(jià)值的文章主要介紹了python怎么創(chuàng)建一個文件夾,用python創(chuàng)建一個文件夾。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

大家好,小編來為大家解答以下問題,python中如何創(chuàng)建一個新文件,python如何創(chuàng)建一個文件夾,今天讓我們一起來看看吧!

python創(chuàng)建文件夾,java,服務(wù)器,前端,人工智能

這篇文章主要介紹了如何通過python新建一個文件中的文件,具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲,下面讓小編帶著大家一起了解一下python雨點(diǎn)特效。

python創(chuàng)建文件夾,java,服務(wù)器,前端,人工智能

前言:

計(jì)算機(jī)操作系統(tǒng)是以文件為單位對數(shù)據(jù)進(jìn)行管理的。文件是指存儲在某種介質(zhì)上的數(shù)據(jù)集合用python如何畫弧形。文件在存儲介質(zhì)上的位置是由驅(qū)動器名稱、文件夾以及文件名來定位的。Python具有強(qiáng)大的文件處理功能,如文件的創(chuàng)建、打開、文件內(nèi)容的寫入、讀出文件中的內(nèi)容等等。

1.文件基本操作:
1.1創(chuàng)建文件:

在Python中利用open(file_name,code)方法來創(chuàng)建(打開)文件(如果該文件已存在就直接打開,如果該文件不存在,就創(chuàng)建新文件)。語法格式如下:
open(file_name,code)
參數(shù)說明:
name:創(chuàng)建文件的名稱;
code:創(chuàng)建文件的模式。

code 含義
‘w’ 打開一個文件,只寫
‘wb’ 以二進(jìn)制格式打開一個文件,只寫
‘w+’ 打開一個文件,讀寫
‘wb+‘ 以二進(jìn)制格式打開一個文件,讀寫
‘r’ 以只讀的方式打開文件。文件指針位于文件開頭
‘r+’ 打開一個文件用于讀寫。文件指針位于文件開頭
‘rb’ 以二進(jìn)制格式打開一個文件進(jìn)行讀寫。文件指針位于文件開頭,一般用于非文本文件(如,圖片)
‘a(chǎn)’ 打開一個文件用于追加。若該文件已存在,則文件指針位于文件末尾,新的內(nèi)容將被被寫入到原有內(nèi)容之后;若該文件不存在,則創(chuàng)建新文件進(jìn)行寫入。
‘a(chǎn)b’ 以二進(jìn)制格式打開一個文件,用于追加。若該文件已存在,則文件指針位于文件末尾,新的內(nèi)容將被被寫入到原有內(nèi)容之后;若該文件不存在,則創(chuàng)建新文件進(jìn)行寫入。
‘a(chǎn)+’ 打開一個文件用于讀寫.文件指針位于文件末尾
‘a(chǎn)b+’ 以二進(jìn)制格式打開一個文件用于讀寫。文件指針位于文件末尾
											表1-1

注意:在 Python 中,以普通方式(文本模式)打開或創(chuàng)建文件和以二進(jìn)制格式打開或創(chuàng)建文件,主要有以下幾點(diǎn)不同:

數(shù)據(jù)的讀取與寫入方式: 在文本模式下,文件中的內(nèi)容被視為字符串(在 Python 3 中為 Unicode 字符串),并且會自動處理平臺特定的行結(jié)束符。在 Windows 上,行結(jié)束符為 \r\n,在 Unix/Linux 上為 \n。當(dāng)你從文件讀取或?qū)懭胛谋緯r,Python 會自動處理這些行結(jié)束符。但是,在二進(jìn)制模式下,數(shù)據(jù)則被視為原始字節(jié)流,不會對行結(jié)束符做任何處理。
編碼問題: 在文本模式下,可以通過 encoding 參數(shù)指定一個字符編碼方式,比如 UTF-8,ASCII等。當(dāng)你從文件讀取或?qū)懭胛谋緯r,Python 會自動根據(jù)指定的編碼方式對文本進(jìn)行編碼或解碼。但是,在二進(jìn)制模式下,由于數(shù)據(jù)被視為原始字節(jié)流,不涉及任何編碼和解碼的操作,所以不需要(也不能)指定字符編碼方式。
文件類型: 有些文件(比如圖片,音頻,視頻等)是以二進(jìn)制格式存儲的,這些文件必須以二進(jìn)制模式打開。如果嘗試以文本模式打開這些文件,可能會導(dǎo)致數(shù)據(jù)的損壞。
因此,在處理文件時,應(yīng)根據(jù)文件的類型和需要處理的數(shù)據(jù)類型選擇適當(dāng)?shù)奈募蜷_模式。如果你需要處理的是文本數(shù)據(jù),那么通常應(yīng)使用文本模式。如果你需要處理的是二進(jìn)制數(shù)據(jù)(比如圖片或音頻文件),或者需要進(jìn)行低級的文件操作(比如讀寫固定數(shù)量的字節(jié)),那么應(yīng)使用二進(jìn)制模式。

#舉個栗子:
import os

txt = open("mytext.txt",'w')
print("成功創(chuàng)建一個文本文件,文件名為mytext.txt")

doc= open("myword.docx","wb+")
print("成功創(chuàng)建一個word文件,文件名為myword.docx")


1.2寫入文件內(nèi)容:

文件創(chuàng)建成功后,就利用write(string)可以向文件中寫入內(nèi)容。語法格式如下:
write(string)
參數(shù)及注意事項(xiàng)說明:
string:要寫入文件中的字符串。但需要注意的是,Python字符串可以是二進(jìn)制字符串。特別是當(dāng),文件以二進(jìn)制模式創(chuàng)建時,string要利用 encode()轉(zhuǎn)換為bytes形式,否則會報(bào)錯
注意事項(xiàng): write()方法的返回值為寫入的字符長度;2.write()方法不會在字符串的末尾添加換行符;3.在文件關(guān)閉或緩沖區(qū)刷新前,字符串內(nèi)容還存儲在緩沖區(qū)中,在文件中是看不到寫入的內(nèi)容的。利用close()方法來關(guān)閉文件。

#舉個栗子
import os
import chardet

with open("mytxt.txt","wb+") as txt:
    txt.write("\n寫入的信息如下:".encode())
    txt.write(("\n文件名:"+txt.name).encode())
    txt.write(("\n創(chuàng)建的模式:"+txt.mode).encode())
    txt.write("\n滿懷熱愛,奔赴星海\n".encode())
    print(content)

運(yùn)行結(jié)果:
python創(chuàng)建文件夾,java,服務(wù)器,前端,人工智能


1.3打開文件夾并讀取內(nèi)容

在Python中打開文件也用open()方法,與創(chuàng)建文件不同的只是mode模式不同。
mode模式與含義見1.1表格。

import os
mytxt = open("../mytxt.txt","r")#以只讀方式打開
str1 = mytxt.read(10)#獲取前10個字符
print("前10個字符為:",str1)

str2 = mytxt.read()#讀取剩余內(nèi)容
mytxt = read()
print("mytxt文件中的剩余全部內(nèi)容為: ",str2)
mytxt.close()

1.4 設(shè)置文件中光標(biāo)的位置

當(dāng)moder,r+,rb,rb+時,打開文件,光標(biāo)(文件指針)位于文件開頭。當(dāng)modea,a+,ab,ab+時,光標(biāo)位于文件末尾。當(dāng)利用read()方法讀取文件中的部分內(nèi)容后,光標(biāo)就會移動到這部分內(nèi)容的后面。
通常,我們在讀取文件內(nèi)容時,可能不會從開頭開始讀取,而是從中間的某一位置開始讀取,且不一定是連續(xù)讀取,所以,我們可以利用tell()方法獲取光標(biāo)的當(dāng)前位置,tell()方法的的返回值是光標(biāo)在文件中的當(dāng)前位置;利用seek()方法設(shè)置光標(biāo)在文件中的當(dāng)前位置。

seek(offset[, whence])
參數(shù)說明:
參數(shù)offset用來設(shè)置偏移量,也就是代表需要偏移的字符數(shù),若為負(fù)數(shù)(逆序)則表示從倒數(shù)第多少位開始。
whence:可選參數(shù),默認(rèn)值為0,該參數(shù)給offset設(shè)定了一個起始位置,(0:從文件開頭開始偏移offset;1:從當(dāng)前位置開始偏移offset;2:從文件末未開始偏移offset

	舉例說明:
import os

s2 = "The error message you provided indicates a UnicodeDecodeError occurred while trying to decode a byte sequence using the 'gbk' codec. The specific error message suggests that there is an illegal multibyte sequence in the data you're trying to decode."
with open("1.txt", "w+",) as mytxt:
    mytxt.write(s2)

print("文件創(chuàng)建成功,并寫入了內(nèi)容。\n")

print("讀取文件中的內(nèi)容:\n")

with open("1.txt", "rb") as myt:#二進(jìn)制模式打開的文件對象支持隨機(jī)訪問和非零定位操作。
    str_ = myt.read()  # 讀取文件中的所有內(nèi)容
    print(str_)
    print()

    position = myt.tell()  # 獲取光標(biāo)的當(dāng)前位置
    print("光標(biāo)的當(dāng)前位置為:", position)
    print()

    myt.seek(10, 0)
    str0 = myt.read(10)
    print(str0)
    print()

    myt.seek(10, 1)
    str1 = myt.read(10)
    print(str1)
    print()

    myt.seek(8, 2)
    str2 = myt.read(10)
    print(str2)
    print()

    myt.seek(-4, 2)
    str3 = myt.read(10)
    print(str3)
    print()

運(yùn)行結(jié)果:

文件創(chuàng)建成功,并寫入了內(nèi)容。

讀取文件中的內(nèi)容:

b"The error message you provided indicates a UnicodeDecodeError occurred while trying to decode a byte sequence using the 'gbk' codec. The specific error message suggests that there is an illegal multibyte sequence in the data you're trying to decode."

光標(biāo)的當(dāng)前位置為: 249

b'message yo'

b' indicates'

b''

b'ode.'
2.文件夾的基本操作
2-1 文件夾的創(chuàng)建:

2-1-1.
掌握一個方法:os.mkdir (path)。
在Python中常用該方法來創(chuàng)建文件夾。

os.mkdir (path)
參數(shù)說明:
path是創(chuàng)建文件夾的路徑。該方法沒有返回值

2-1-2.
理解兩條“路徑”:

1.絕對路徑: 從磁盤的根目錄開始定位,直到對應(yīng)的位置為止。
2.相對路徑: 從當(dāng)前所在路徑開始定位,直到對應(yīng)的位置為止。“.” 表示當(dāng)前目錄;用“. .”表示上一級目錄

舉個栗子:

import os
#------在相對路徑下創(chuàng)建文件夾----------------
#在當(dāng)前目錄下創(chuàng)建一個文件夾
os.mkdir("mydir1") 

#在當(dāng)前目錄的mydir1文件夾中創(chuàng)建一個子文件夾
os.mkdir("./mydir1/sub_mydir1")

#在當(dāng)目錄的上一級目錄下創(chuàng)建一個文件夾
os.mkdir("../up_mydir1")
 
#-------在絕對路徑下創(chuàng)建文件夾---------------
#在C盤根目錄下創(chuàng)建一個文件夾
os.mkdir("C:/mydir")

#在C盤的mydir文件夾中創(chuàng)建一個子文件夾
os.mkdir("C:/mydir/sub_mydir")
 print("創(chuàng)建成功!")

注意: 如果你創(chuàng)建的文件夾已經(jīng)存在,重復(fù)創(chuàng)建就會報(bào)錯,(即,上述創(chuàng)建文件夾的程序如果成功執(zhí)行,再次運(yùn)行就會報(bào)錯)。因此在創(chuàng)建文件夾時,我們最好先判斷在該目錄下是否存在同名的文件夾。


2-2判斷文件夾是否存在

掌握一個方法:os.path.exists(path)
在Python中,利用該方法來判斷文件夾的路徑。該方法返回值為Trueor False

舉個栗子

import os 
if os.path.exists("mydir1"):
   print("該文件夾已存在!")
else:
   print("該文件夾不存在,可以新建。")
2-3 文件夾重命名

2-3-1.掌握一個方法:os.rename(src,dst)。
在Python中,利用該方法對文件夾進(jìn)行重命名。

參數(shù)說明:
src:文件夾原名;
dst:文件夾新名;

2-3-2. 注意兩個要點(diǎn):
1.在對一個文件夾重命名之前,先判斷該文件夾是否已經(jīng)存在,只有該文件夾已經(jīng)存在,才有文件夾重命名操作的對象。
2. 對具體目錄下的某一文件夾重命名時,需注意新名稱是否與該目錄下的其他文件夾重名。

舉個栗子

import os
if os.path.exists("mydir1"):
   print("該文件夾存在,可以重命名。")
   if os.path.exists("new_mydir1")
       print("sorry,new_mydir 文件夾已存在")
   else:
       print("new_mydir1文件夾不存在可以重命名。")
   	  os.rename("mydir1","new_mydir1")
   print("重命名成功。")
else:
   print("該文件夾不存在,無法進(jìn)行重命名操作!")
2-4 文件夾的刪除

2-4-1.一個方法:os.rmdir(path)
在Python中,利用該方法來刪除文件夾。path為該文件夾的路徑,該方法沒有返回值.

4-2-2. 兩個要點(diǎn):
1.在進(jìn)行刪除操作前,應(yīng)先判斷,要刪除的文件夾是否已經(jīng)存在(即刪除操作有無操作對象)
2.os.rmdir(path)方法只能刪除空的文件夾,即文件夾中不能有文件夾或文件。否則操作無法執(zhí)行。
可以利用os.listdir(path)方法來查看文件夾中的文件夾或文件。該方法返回一個列表,其中包含由路徑指定的目錄中條目的名稱。

舉個栗子:

import os
if os.path.exists("C:/mydir"):
   print("該文件夾存在,可以刪除。")
   if len(os.listdir("C:/mydir/"))==0:
       os.rmdir("C:/mydir/")
       print("刪除成功")
   else:
       print("刪除操作無效,mydir 非空。")
       
else:
   print("該文件夾不存在,無法刪除!")

2-6 文件操作工具-------shutil模塊的應(yīng)用

在上述文件夾的刪除操作中,我們知道os.rmdir(path)方法只能刪除空的文件夾。如果要刪除非空文件夾又該如何操作?這時我們可以用shutil模塊來實(shí)現(xiàn)。
shutil模塊是一個高層次的文件操作工具,其強(qiáng)大之處在于對文件的復(fù)制與刪除操作較為簡便。

一個方法:shuitl.retree(path)
在Python中可利用shuitl.retree(path)方法來刪除非空文件夾。

舉個栗子:

import os
import shutil
if os.path.exists("C:/mydir"):
   print("該文件夾存在,可以刪除。")
   if len(os.listdir("C:/mydir/"))==0:
       os.rmdir("C:/mydir/")
       print("該空文件夾刪除成功")
 else:
       shutil.rmtree("C:/mydir/")
     print("mydir 非空。刪除成功。")
 
else:
 print("該文件夾不存在,無法刪除!")

3. 與文件夾和文件有關(guān)的其他操作
3-1 獲取和修改當(dāng)前文件夾的位置

在Python中,利用os.getcwd()方法可以獲取當(dāng)前文件夾的位置,注意該方法沒有參數(shù)。
使用os.chdir(path)可以修改當(dāng)前文件夾的位置。

3-2 連接目錄和文件名

Python中,利用os.path.join(dir, filename)方法可以連接目錄和文件名

參數(shù)說明:
dir:文件的目錄
filename:目錄中的文件名

舉例說明

import os
str1 = os.getcwd()
list_ = []
print("顯示當(dāng)前文件夾中包含的所有文件絕對路徑")
for file in os.listdir(str1):
	filepath = os.path.join(str,file)
	list1.append(filepath)
	print(list1)
3-3 文件的屬性信息

在Python中,利用os.stst(filename)方法查看文件的屬性信息,filename是要查看的文件名稱。

#文件中某個字全部替換為另一個字

import os
import shutil

def replace(filename,rep_word, new_word):
        f_read = open(filename,"w+")
        content = []
        count = 0
        for eachline in f_read:
            if rep_word in eachline:
                count += eachline.count(rep_word)
                eachline = eachline.replace(rep_word,new_word)
            content.append(eachline)
        decide = input("\n文件%s中共有%s個%s, 您確定要全部替換為%s嗎?\n Yes/No:"\
            %(filename, count, rep_word,new_word))
            
        if decide in ["YES","yes","Yes"]:
            f_write = open(filename,"w")
            f_write.write(filename)
            f_write.writelines(content)
            f_write.close()
        f_read.close()

if __name__ == "__main__":
    filename = input("Please enter filename:")
    rep_word = input("Please enter the word you want to replace :")
    new_word = input("Please enter the new_word:")
    replace(filename,rep_word,new_word)
    str = open(filename,"r")
    print(str)
    
3-4文件的復(fù)制與刪除

在Python中,利用shutil.copy(oldfile,newfile)方法可以復(fù)制文件,其中,oldfile為原來的文件名,newfile副本的文件名。刪除文件可以使用 os.remove(file),其中參數(shù)file為要刪除的文件名。文章來源地址http://www.zghlxwxcb.cn/news/detail-861492.html

import os 
import shutil 

#復(fù)制文件
str = open("2.txt","w+")
if os.path.exists("2.txt"):
    shutil.copy("2.txt","new_2.txt")
    str_copy = open("new_2.txt","r")
    print(str_copy)
    
#刪除文件
if os.path.exists("new_1.txt"):
    os.remove("new_1.txt")
關(guān)于Python的文件操作,我們先分享到這里,謝謝各位大佬的閱讀。

這篇文章主要介紹了如何通過python新建一個文件中的文件,具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲,下面讓小編帶著大家一起了解一下python雨點(diǎn)特效。

python創(chuàng)建文件夾,java,服務(wù)器,前端,人工智能

前言:

計(jì)算機(jī)操作系統(tǒng)是以文件為單位對數(shù)據(jù)進(jìn)行管理的。文件是指存儲在某種介質(zhì)上的數(shù)據(jù)集合用python如何畫弧形。文件在存儲介質(zhì)上的位置是由驅(qū)動器名稱、文件夾以及文件名來定位的。Python具有強(qiáng)大的文件處理功能,如文件的創(chuàng)建、打開、文件內(nèi)容的寫入、讀出文件中的內(nèi)容等等。

1.文件基本操作:
1.1創(chuàng)建文件:

在Python中利用open(file_name,code)方法來創(chuàng)建(打開)文件(如果該文件已存在就直接打開,如果該文件不存在,就創(chuàng)建新文件)。語法格式如下:
open(file_name,code)
參數(shù)說明:
name:創(chuàng)建文件的名稱;
code:創(chuàng)建文件的模式。

code 含義
‘w’ 打開一個文件,只寫
‘wb’ 以二進(jìn)制格式打開一個文件,只寫
‘w+’ 打開一個文件,讀寫
‘wb+‘ 以二進(jìn)制格式打開一個文件,讀寫
‘r’ 以只讀的方式打開文件。文件指針位于文件開頭
‘r+’ 打開一個文件用于讀寫。文件指針位于文件開頭
‘rb’ 以二進(jìn)制格式打開一個文件進(jìn)行讀寫。文件指針位于文件開頭,一般用于非文本文件(如,圖片)
‘a(chǎn)’ 打開一個文件用于追加。若該文件已存在,則文件指針位于文件末尾,新的內(nèi)容將被被寫入到原有內(nèi)容之后;若該文件不存在,則創(chuàng)建新文件進(jìn)行寫入。
‘a(chǎn)b’ 以二進(jìn)制格式打開一個文件,用于追加。若該文件已存在,則文件指針位于文件末尾,新的內(nèi)容將被被寫入到原有內(nèi)容之后;若該文件不存在,則創(chuàng)建新文件進(jìn)行寫入。
‘a(chǎn)+’ 打開一個文件用于讀寫.文件指針位于文件末尾
‘a(chǎn)b+’ 以二進(jìn)制格式打開一個文件用于讀寫。文件指針位于文件末尾
											表1-1

注意:在 Python 中,以普通方式(文本模式)打開或創(chuàng)建文件和以二進(jìn)制格式打開或創(chuàng)建文件,主要有以下幾點(diǎn)不同:

數(shù)據(jù)的讀取與寫入方式: 在文本模式下,文件中的內(nèi)容被視為字符串(在 Python 3 中為 Unicode 字符串),并且會自動處理平臺特定的行結(jié)束符。在 Windows 上,行結(jié)束符為 \r\n,在 Unix/Linux 上為 \n。當(dāng)你從文件讀取或?qū)懭胛谋緯r,Python 會自動處理這些行結(jié)束符。但是,在二進(jìn)制模式下,數(shù)據(jù)則被視為原始字節(jié)流,不會對行結(jié)束符做任何處理。
編碼問題: 在文本模式下,可以通過 encoding 參數(shù)指定一個字符編碼方式,比如 UTF-8,ASCII等。當(dāng)你從文件讀取或?qū)懭胛谋緯r,Python 會自動根據(jù)指定的編碼方式對文本進(jìn)行編碼或解碼。但是,在二進(jìn)制模式下,由于數(shù)據(jù)被視為原始字節(jié)流,不涉及任何編碼和解碼的操作,所以不需要(也不能)指定字符編碼方式。
文件類型: 有些文件(比如圖片,音頻,視頻等)是以二進(jìn)制格式存儲的,這些文件必須以二進(jìn)制模式打開。如果嘗試以文本模式打開這些文件,可能會導(dǎo)致數(shù)據(jù)的損壞。
因此,在處理文件時,應(yīng)根據(jù)文件的類型和需要處理的數(shù)據(jù)類型選擇適當(dāng)?shù)奈募蜷_模式。如果你需要處理的是文本數(shù)據(jù),那么通常應(yīng)使用文本模式。如果你需要處理的是二進(jìn)制數(shù)據(jù)(比如圖片或音頻文件),或者需要進(jìn)行低級的文件操作(比如讀寫固定數(shù)量的字節(jié)),那么應(yīng)使用二進(jìn)制模式。

#舉個栗子:
import os

txt = open("mytext.txt",'w')
print("成功創(chuàng)建一個文本文件,文件名為mytext.txt")

doc= open("myword.docx","wb+")
print("成功創(chuàng)建一個word文件,文件名為myword.docx")


1.2寫入文件內(nèi)容:

文件創(chuàng)建成功后,就利用write(string)可以向文件中寫入內(nèi)容。語法格式如下:
write(string)
參數(shù)及注意事項(xiàng)說明:
string:要寫入文件中的字符串。但需要注意的是,Python字符串可以是二進(jìn)制字符串。特別是當(dāng),文件以二進(jìn)制模式創(chuàng)建時,string要利用 encode()轉(zhuǎn)換為bytes形式,否則會報(bào)錯
注意事項(xiàng): write()方法的返回值為寫入的字符長度;2.write()方法不會在字符串的末尾添加換行符;3.在文件關(guān)閉或緩沖區(qū)刷新前,字符串內(nèi)容還存儲在緩沖區(qū)中,在文件中是看不到寫入的內(nèi)容的。利用close()方法來關(guān)閉文件。

#舉個栗子
import os
import chardet

with open("mytxt.txt","wb+") as txt:
    txt.write("\n寫入的信息如下:".encode())
    txt.write(("\n文件名:"+txt.name).encode())
    txt.write(("\n創(chuàng)建的模式:"+txt.mode).encode())
    txt.write("\n滿懷熱愛,奔赴星海\n".encode())
    print(content)

運(yùn)行結(jié)果:
python創(chuàng)建文件夾,java,服務(wù)器,前端,人工智能


1.3打開文件夾并讀取內(nèi)容

在Python中打開文件也用open()方法,與創(chuàng)建文件不同的只是mode模式不同。
mode模式與含義見1.1表格。

import os
mytxt = open("../mytxt.txt","r")#以只讀方式打開
str1 = mytxt.read(10)#獲取前10個字符
print("前10個字符為:",str1)

str2 = mytxt.read()#讀取剩余內(nèi)容
mytxt = read()
print("mytxt文件中的剩余全部內(nèi)容為: ",str2)
mytxt.close()

1.4 設(shè)置文件中光標(biāo)的位置

當(dāng)moder,r+,rb,rb+時,打開文件,光標(biāo)(文件指針)位于文件開頭。當(dāng)modea,a+,ab,ab+時,光標(biāo)位于文件末尾。當(dāng)利用read()方法讀取文件中的部分內(nèi)容后,光標(biāo)就會移動到這部分內(nèi)容的后面。
通常,我們在讀取文件內(nèi)容時,可能不會從開頭開始讀取,而是從中間的某一位置開始讀取,且不一定是連續(xù)讀取,所以,我們可以利用tell()方法獲取光標(biāo)的當(dāng)前位置,tell()方法的的返回值是光標(biāo)在文件中的當(dāng)前位置;利用seek()方法設(shè)置光標(biāo)在文件中的當(dāng)前位置。

seek(offset[, whence])
參數(shù)說明:
參數(shù)offset用來設(shè)置偏移量,也就是代表需要偏移的字符數(shù),若為負(fù)數(shù)(逆序)則表示從倒數(shù)第多少位開始。
whence:可選參數(shù),默認(rèn)值為0,該參數(shù)給offset設(shè)定了一個起始位置,(0:從文件開頭開始偏移offset;1:從當(dāng)前位置開始偏移offset2:從文件末未開始偏移offset

	舉例說明:
import os

s2 = "The error message you provided indicates a UnicodeDecodeError occurred while trying to decode a byte sequence using the 'gbk' codec. The specific error message suggests that there is an illegal multibyte sequence in the data you're trying to decode."
with open("1.txt", "w+",) as mytxt:
    mytxt.write(s2)

print("文件創(chuàng)建成功,并寫入了內(nèi)容。\n")

print("讀取文件中的內(nèi)容:\n")

with open("1.txt", "rb") as myt:#二進(jìn)制模式打開的文件對象支持隨機(jī)訪問和非零定位操作。
    str_ = myt.read()  # 讀取文件中的所有內(nèi)容
    print(str_)
    print()

    position = myt.tell()  # 獲取光標(biāo)的當(dāng)前位置
    print("光標(biāo)的當(dāng)前位置為:", position)
    print()

    myt.seek(10, 0)
    str0 = myt.read(10)
    print(str0)
    print()

    myt.seek(10, 1)
    str1 = myt.read(10)
    print(str1)
    print()

    myt.seek(8, 2)
    str2 = myt.read(10)
    print(str2)
    print()

    myt.seek(-4, 2)
    str3 = myt.read(10)
    print(str3)
    print()

運(yùn)行結(jié)果:

文件創(chuàng)建成功,并寫入了內(nèi)容。

讀取文件中的內(nèi)容:

b"The error message you provided indicates a UnicodeDecodeError occurred while trying to decode a byte sequence using the 'gbk' codec. The specific error message suggests that there is an illegal multibyte sequence in the data you're trying to decode."

光標(biāo)的當(dāng)前位置為: 249

b'message yo'

b' indicates'

b''

b'ode.'
2.文件夾的基本操作
2-1 文件夾的創(chuàng)建:

2-1-1.
掌握一個方法:os.mkdir (path)。
在Python中常用該方法來創(chuàng)建文件夾。

os.mkdir (path)
參數(shù)說明:
path是創(chuàng)建文件夾的路徑。該方法沒有返回值

2-1-2.
理解兩條“路徑”:

1.絕對路徑: 從磁盤的根目錄開始定位,直到對應(yīng)的位置為止。
2.相對路徑: 從當(dāng)前所在路徑開始定位,直到對應(yīng)的位置為止。“.” 表示當(dāng)前目錄;用“. .”表示上一級目錄

舉個栗子:

import os
#------在相對路徑下創(chuàng)建文件夾----------------
#在當(dāng)前目錄下創(chuàng)建一個文件夾
os.mkdir("mydir1") 

#在當(dāng)前目錄的mydir1文件夾中創(chuàng)建一個子文件夾
os.mkdir("./mydir1/sub_mydir1")

#在當(dāng)目錄的上一級目錄下創(chuàng)建一個文件夾
os.mkdir("../up_mydir1")
 
#-------在絕對路徑下創(chuàng)建文件夾---------------
#在C盤根目錄下創(chuàng)建一個文件夾
os.mkdir("C:/mydir")

#在C盤的mydir文件夾中創(chuàng)建一個子文件夾
os.mkdir("C:/mydir/sub_mydir")
 print("創(chuàng)建成功!")

注意: 如果你創(chuàng)建的文件夾已經(jīng)存在,重復(fù)創(chuàng)建就會報(bào)錯,(即,上述創(chuàng)建文件夾的程序如果成功執(zhí)行,再次運(yùn)行就會報(bào)錯)。因此在創(chuàng)建文件夾時,我們最好先判斷在該目錄下是否存在同名的文件夾。


2-2判斷文件夾是否存在

掌握一個方法:os.path.exists(path)
在Python中,利用該方法來判斷文件夾的路徑。該方法返回值為Trueor False。

舉個栗子

import os 
if os.path.exists("mydir1"):
   print("該文件夾已存在!")
else:
   print("該文件夾不存在,可以新建。")
2-3 文件夾重命名

2-3-1.掌握一個方法:os.rename(src,dst)。
在Python中,利用該方法對文件夾進(jìn)行重命名。

參數(shù)說明:
src:文件夾原名;
dst:文件夾新名;

2-3-2. 注意兩個要點(diǎn):
1.在對一個文件夾重命名之前,先判斷該文件夾是否已經(jīng)存在,只有該文件夾已經(jīng)存在,才有文件夾重命名操作的對象。
2. 對具體目錄下的某一文件夾重命名時,需注意新名稱是否與該目錄下的其他文件夾重名。

舉個栗子

import os
if os.path.exists("mydir1"):
   print("該文件夾存在,可以重命名。")
   if os.path.exists("new_mydir1")
       print("sorry,new_mydir 文件夾已存在")
   else:
       print("new_mydir1文件夾不存在可以重命名。")
   	  os.rename("mydir1","new_mydir1")
   print("重命名成功。")
else:
   print("該文件夾不存在,無法進(jìn)行重命名操作!")
2-4 文件夾的刪除

2-4-1.一個方法:os.rmdir(path)
在Python中,利用該方法來刪除文件夾。path為該文件夾的路徑,該方法沒有返回值.

4-2-2. 兩個要點(diǎn):
1.在進(jìn)行刪除操作前,應(yīng)先判斷,要刪除的文件夾是否已經(jīng)存在(即刪除操作有無操作對象)
2.os.rmdir(path)方法只能刪除空的文件夾,即文件夾中不能有文件夾或文件。否則操作無法執(zhí)行。
可以利用os.listdir(path)方法來查看文件夾中的文件夾或文件。該方法返回一個列表,其中包含由路徑指定的目錄中條目的名稱。

舉個栗子:

import os
if os.path.exists("C:/mydir"):
   print("該文件夾存在,可以刪除。")
   if len(os.listdir("C:/mydir/"))==0:
       os.rmdir("C:/mydir/")
       print("刪除成功")
   else:
       print("刪除操作無效,mydir 非空。")
       
else:
   print("該文件夾不存在,無法刪除!")

2-6 文件操作工具-------shutil模塊的應(yīng)用

在上述文件夾的刪除操作中,我們知道os.rmdir(path)方法只能刪除空的文件夾。如果要刪除非空文件夾又該如何操作?這時我們可以用shutil模塊來實(shí)現(xiàn)。
shutil模塊是一個高層次的文件操作工具,其強(qiáng)大之處在于對文件的復(fù)制與刪除操作較為簡便。

一個方法:shuitl.retree(path)
在Python中可利用shuitl.retree(path)方法來刪除非空文件夾。

舉個栗子:

import os
import shutil
if os.path.exists("C:/mydir"):
   print("該文件夾存在,可以刪除。")
   if len(os.listdir("C:/mydir/"))==0:
       os.rmdir("C:/mydir/")
       print("該空文件夾刪除成功")
 else:
       shutil.rmtree("C:/mydir/")
     print("mydir 非空。刪除成功。")
 
else:
 print("該文件夾不存在,無法刪除!")

3. 與文件夾和文件有關(guān)的其他操作
3-1 獲取和修改當(dāng)前文件夾的位置

在Python中,利用os.getcwd()方法可以獲取當(dāng)前文件夾的位置,注意該方法沒有參數(shù)。
使用os.chdir(path)可以修改當(dāng)前文件夾的位置。

3-2 連接目錄和文件名

Python中,利用os.path.join(dir, filename)方法可以連接目錄和文件名

參數(shù)說明:
dir:文件的目錄
filename:目錄中的文件名

舉例說明

import os
str1 = os.getcwd()
list_ = []
print("顯示當(dāng)前文件夾中包含的所有文件絕對路徑")
for file in os.listdir(str1):
	filepath = os.path.join(str,file)
	list1.append(filepath)
	print(list1)
3-3 文件的屬性信息

在Python中,利用os.stst(filename)方法查看文件的屬性信息,filename是要查看的文件名稱。

#文件中某個字全部替換為另一個字

import os
import shutil

def replace(filename,rep_word, new_word):
        f_read = open(filename,"w+")
        content = []
        count = 0
        for eachline in f_read:
            if rep_word in eachline:
                count += eachline.count(rep_word)
                eachline = eachline.replace(rep_word,new_word)
            content.append(eachline)
        decide = input("\n文件%s中共有%s個%s, 您確定要全部替換為%s嗎?\n Yes/No:"\
            %(filename, count, rep_word,new_word))
            
        if decide in ["YES","yes","Yes"]:
            f_write = open(filename,"w")
            f_write.write(filename)
            f_write.writelines(content)
            f_write.close()
        f_read.close()

if __name__ == "__main__":
    filename = input("Please enter filename:")
    rep_word = input("Please enter the word you want to replace :")
    new_word = input("Please enter the new_word:")
    replace(filename,rep_word,new_word)
    str = open(filename,"r")
    print(str)
    
3-4文件的復(fù)制與刪除

在Python中,利用shutil.copy(oldfile,newfile)方法可以復(fù)制文件,其中,oldfile為原來的文件名,newfile副本的文件名。刪除文件可以使用 os.remove(file),其中參數(shù)file為要刪除的文件名。

import os 
import shutil 

#復(fù)制文件
str = open("2.txt","w+")
if os.path.exists("2.txt"):
    shutil.copy("2.txt","new_2.txt")
    str_copy = open("new_2.txt","r")
    print(str_copy)
    
#刪除文件
if os.path.exists("new_1.txt"):
    os.remove("new_1.txt")
關(guān)于Python的文件操作,我們先分享到這里,謝謝各位大佬的閱讀。

到了這里,關(guān)于python怎么創(chuàng)建一個文件夾,用python創(chuàng)建一個文件夾的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • python判斷文件或文件夾是否存在、創(chuàng)建文件夾

    以下的內(nèi)容參考http://t.csdn.cn/aybFd,https://www.cnblogs.com/hushaojun/p/4533241.html python判斷文件或文件夾是否存在、創(chuàng)建文件夾 1、判斷文件或文件夾是否存在 2、判斷所給路徑是文件還是文件夾 3、創(chuàng)建文件夾 4、獲取當(dāng)前.py文件的路徑 5、獲取指定目錄下所有的文件和文件夾 刪除一個

    2024年02月10日
    瀏覽(84)
  • hadoop java 創(chuàng)建文件夾 彈出窗口填寫文件夾名稱

    在Hadoop中使用Java創(chuàng)建文件夾時,無法彈出窗口來填寫文件夾名稱,因?yàn)镠adoop是一個分布式系統(tǒng),運(yùn)行在多臺計(jì)算機(jī)上,無法直接與用戶交互。 要創(chuàng)建文件夾,可以使用Hadoop的Java API中的Filesystem對象。以下是一個示例代碼,演示如何在Hadoop中創(chuàng)建文件夾: 此代碼創(chuàng)建了一個名

    2024年01月19日
    瀏覽(92)
  • Python創(chuàng)建新文件夾并在其中創(chuàng)建文件的方法,或者文件夾路徑不存在時自動創(chuàng)建

    參考:https://www.python100.com/html/S2IT74V832KF.html 在Python中,如果沒有路徑,則可以使用os.makedirs()方法來創(chuàng)建新的文件夾或目錄。下面我們將從多個方面詳細(xì)介紹Python如何創(chuàng)建新文件夾并在其中創(chuàng)建文件。 使用os.makedirs()方法可以輕松地創(chuàng)建新的文件夾或目錄: 這段代碼將在當(dāng)前工

    2024年02月07日
    瀏覽(109)
  • Python——自動創(chuàng)建文件夾

    利用 Python編程語言實(shí)現(xiàn)自動創(chuàng)建文件夾,程序以函數(shù)形式封裝,直接按要求傳參即可調(diào)用。 在python中沒有直接針對文件夾的操作方法,可以借助模塊os,os.path和shutil來操作。 在新建文件夾時可以創(chuàng)建一級文件,也可以創(chuàng)建多級文件。 判斷文件或者文件夾是否存在,可以使用

    2024年02月08日
    瀏覽(23)
  • python判斷文件夾是否存在,不存在則創(chuàng)建它,并將文件夾下所有的文件及子文件刪除

    1、python判斷文件夾是否存在,不存在則創(chuàng)建它,并將文件夾下所有的文件及子文件刪除 2、python之判斷文件文件夾是否存在,存在則刪除,不存在則創(chuàng)建 2.1、刪除文件于文件夾 使用os.remove刪除文件夾會出現(xiàn)拒絕訪問的錯誤,所以要使用以下方式進(jìn)行刪除 2.2、創(chuàng)建文件與文件

    2024年02月11日
    瀏覽(117)
  • 【用python將文件夾下面的文件夾里面的文件全部提取出來,并且放到一個新的文件夾】

    【用python將文件夾下面的文件夾里面的文件全部提取出來,并且放到一個新的文件夾】

    可以使用Python的os和shutil庫來完成這個任務(wù)。 比如說:我的faces95文件夾下面有95個文件,每個文件下面有十七到十八個照片不等。 把所有照片提取出來可以用以下python代碼: 需要修改的地方: data_folder = \\\' \\\'中的 改為自己的需要提取的文件路徑 photo_folder = \\\' \\\'中的 改為自己的

    2023年04月17日
    瀏覽(18)
  • 如何用java給一個文件夾打成壓縮包?

    上面的程序可以將 folderPath 指向的文件夾中所有文件和子文件夾打包成 zipFilePath 所指向的壓縮文件。您只需要將文件夾路徑和壓縮文件路徑替換為實(shí)際的值,然后在 Java 環(huán)境下運(yùn)行該程序即可。 請注意,上面的代碼塊中的 PackageName 是您自己所定義的包名。如果沒有將此類文

    2024年02月10日
    瀏覽(23)
  • java文件相關(guān)操作工具,包括讀取服務(wù)器路徑下文件,刪除文件及子文件,刪除文件夾等方法
  • python如何批量讀取一個文件夾里的所以excel文件

    python如何批量讀取一個文件夾里的所以excel文件

    在數(shù)據(jù)分析工作中,嘗嘗需要處理多個不同月的excel文件,但無奈與excel文件的局限性,不能同時處理多個月的excel數(shù)據(jù),所以python的批量讀取excel文件就顯得十分重要,下面我將展示如何用python將每個月度的excel數(shù)據(jù)進(jìn)行讀取并匯總處理和輸出。 最好excel的文件名就是按照日期

    2024年02月16日
    瀏覽(96)
  • 用python實(shí)現(xiàn)檢查一個文件夾中所有word文件內(nèi)容是否重復(fù)

    要檢查一個文件夾中所有Word文件的內(nèi)容是否重復(fù),你可以使用Python的 python-docx 庫來讀取Word文件的內(nèi)容,并使用Python的集合數(shù)據(jù)結(jié)構(gòu)來檢查重復(fù)項(xiàng)。 以下是一個示例代碼,演示如何實(shí)現(xiàn)這個功能: python復(fù)制代碼 import os from docx import Document def get_word_files(directory): \\\"\\\"\\\"獲取指定目

    2024年01月23日
    瀏覽(44)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包