这是一个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文件就会返回多少次“此文件夹不存在,请从新检查!”