我有一个装满pdf文件的文件夹。我试图从文件名中删除所有空格并用下划线替换它们。这就是我到目前为止所拥有的:
import os, sys
folder = path to folder
FileList = os.listdir(folder)
for files in FileList:
if ' ' in files:
NewName = files.replace(" ", "_")
os.rename(files, NewName)
当我运行此脚本时,我收到以下错误:
WindowsError: [Error 2] The system cannot find the file specified
我猜测有一个非常简单的解决办法,但是我一直都在看,无法找到解决方案。
感谢您的帮助!
答案 0 :(得分:3)
...
setData()
答案 1 :(得分:2)
只需将目录更改为必须重命名文件的目录,然后按照您的代码进行操作。
使用:os.chdir("destinationFolder")
。
答案 2 :(得分:0)
您重命名当前目录中的文件,但在os.rename
中阅读。您需要添加os.chdir(folder)
文件夹路径或开头os.listdir()
,然后只需使用os.rename
和sc.textFile("s3n://logs/box316_0.seq").take(5).foreach(println)
答案 3 :(得分:0)
我为我的案子找到了一个简单的解决方案。我想重命名文件并不断得到WindowsError:[错误2]。只需用
更改当前目录即可os.chdir(currdir)
然后没有尝试使用完整路径就可以了。这是相关的脚本行
if(os.path.exists(wd)) == 0:
print(wd+" DOES NOT EXIST!!")
sys.exit()
directories = [x[0] for x in os.walk(wd)]
ld = len(directories)
dsorted = sorted(directories)
print(dsorted)
for num in range(1,ld):
currdir = dsorted[num]
print("Working on Directory "+currdir)
os.chdir(currdir)
filenames = next(os.walk(currdir))[2]
l = len(filenames)
for num in range(0,l):
name = filenames[num]
print("Present file "+name)
modtime = os.path.getmtime(name);print(modtime)
moddate =datetime.datetime.fromtimestamp(modtime).strftime('%Y %m %d')
moddate = moddate.replace(" ", "")
print(moddate)
namesplit = name.split(".")
base = namesplit[0]
newbase = base+"_"+moddate
newname = newbase+"."+namesplit[1]
print(newname)
os.rename(name,newname)
input()