【发布时间】:2015-06-22 13:29:55
【问题描述】:
我正在尝试编写此程序以将目录读取到文件中并读取文件的第一行。如果它找到某些关键字,则重新命名文件,复制文件,并将其更多到相应的目录。
import os
import shutil
import sys
os.chdir('c:\\source')
sourcePattern = '2:I103'
targetDirMt = 'mt'
targetDirF21 = 'F21'
curFile = open(os.path.abspath(os.curdir) + '\\' +'ack_nak', 'r+')
for line in fileinput.input ( curFile ): #(os.curdir, 'r+')
if sourcePattern in curFile :
os.rename(file, '2:I103-'+file)
if targetDirMt in curFile :
shutil.move(file,'C:\\target\\mt')
if targetDirF21 in curFile :
shutil.move(file,'C:\\target\\F21')
为什么我会得到这个??
Traceback (most recent call last):
File "C:\Python34\project1.py", line 12, in <module>
curFile = open(os.path.abspath(os.curdir) + '\\' +'ack_nak', 'r+')
PermissionError: [Errno 13] Permission denied: 'c:\\source\\ack_nak'
【问题讨论】:
-
这可能是路径的问题,尝试将目录分隔符更改为简单的正斜杠 (
/)。喜欢:c:/source/ack_nak -
我遇到了同样的错误
-
这个ack_nak是文件还是目录?您不能
open目录。查看os.walk,这可能会有所帮助。 -
ack nak 是文件 'source' 是目录
-
为什么你使用
r+而不是r来获得权限?
标签: python