這是一個python3.5對文件操做的整理,裏面有複製/更名/覆蓋輸入/追加輸入等等。python
前提:在E盤的PythonAAA/A的文件夾下,有一個123.txtwindows
1)覆蓋輸入ide
1
2
3
4
5
|
>>>
import
os
#啓動模塊
>>>f
=
open
(
"e:/PythonAAA/A/123.txt"
,
"w+"
)
#打開目標文件,w+是以讀寫方式打開,同r+
>>>f.write(
"我愛北京天安門"
)
#寫入內容就是歌詞
7
>>>f.close()
#關閉文件,這一步相當重要!有開有關。
|
【補充】若是在改路徑下沒有123.txt這個文件,那麼這樣就會直接生成123.txt這個文件。spa
這種f=open的方式在打開文件以後必定要close(),否則這個文件一直會在後臺運行,windows下使用ctrl+alt+del下是能夠看到這個進程的,若是總以爲本身會忘記close(),可使用with as方法,上面的句子能夠這麼寫:code
1
2
|
>>>with
open
(
"e:/PythonAAA/A/123.txt"
) as f:
f.write(
"我愛北京天安門"
)
|
2)追加輸入blog
若是是with as方法打開文件的話, 那麼write默認都是追加輸入,好比進程
1
2
|
>>> with
open
(
"e:/PythonAAA/A/123.txt"
,
"a"
) as f:
f.write(
"\n 偉大領袖毛主席 \t 帶領咱們向前進"
)
#\n和\s效果本身看
|
效果以下:ci
若是要用f=的方法,那麼第一行要f=open("e:/PythonAAA/A/123.txt","a") ,這裏a就是add的意思。rem
3)文件更名get
若是想要把這個 123.txt改爲456.txt,很簡單,一句話就能作到。
1
2
|
>>>
import
os
>>> os.rename(
"e:/PythonAAA/A/123.txt"
,
"e:/PythonAAA/A/456.txt"
)
|
這個效果立竿見影。
4)文件複製
想要把e:/PythonAAA/A/123.txt複製到e:/PythonAAA/B這個文件夾裏,一樣叫123.txt。
1
2
|
>>>
import
shutil
>>> shutil.copy(
"e:/PythonAAA/B/123.txt"
,
"e:/PythonAAA/A/123.txt"
)
|
【補充】這個語句的前提是必需要有B這個文件夾,否則的話,會報錯。
5)目錄刪除
e:/PythonAAA/B/C這個文件夾不想要了,刪除之。
1
2
|
>>>
import
shutil
>>> shutil.rmtree(
"e:/PythonAAA/B/C"
)
|
6)文件刪除
e:/PythonAAA/B/456.txt這個文件不想要了,刪除之。
1
2
|
>>>
import
os
>>> os.unlink(
"e:/PythonAAA/B/456.txt"
)
|
os.remove效果也同樣,語句也同樣。
7)文件剪切粘貼
e:/PythonAAA/B/123.txt剪貼粘貼到e:/PythonAAA/A/123.txt。
1
2
|
>>>
import
shutil
>>> shutil.move(
"e:/PythonAAA/B/123.txt"
,
"e:/PythonAAA/A/123.txt"
)
|
8)綜合練習
要求把e:/PythonAAA/A裏全部.py文件都複製到e:/ABC/CBA這個文件夾裏。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
>>>
import
os
>>> os.makedirs(
"e:/ABC/CBA"
)
#創建/ABC/CBA這個文件夾,若是是一層文件夾os.mkdir就行
>>>
def
copyFiles(sourceDir,targetDir):
for
files
in
os.listdir(sourceDir):
sourceFile
=
os.path.join(sourceDir,files)
targetFile
=
os.path.join(targetDir,files)
try
:
if
os.path.isfile(sourceFile)
and
sourceFile.find(
'.py'
)>
0
:
#能夠試試不加>0的後果
shutil.move(sourceFile,targetFile)
except
FileNotFoundError:
print
(
"此文件夾不存在,請從新檢查!"
)
>>> copyFiles(
"e:/PythonAAA/B"
,
"e:/ABC/CBA"
)
|
要麼無錯誤輸出,要麼就會有多少個.py文件就會返回多少次「此文件夾不存在,請從新檢查!」