python 无法将文件夹保存在一个文件夹内
python cannot get folders to save inside of one folder
我 运行 遇到了一些麻烦,我相信这很容易解决。我目前正在从一个路径中提取 png 文件,并将它们保存在另一个路径中的文件夹中。这一切都正确完成。我之后尝试做的是将这些文件夹分组到一个 Results
文件夹中。我当前的代码没有抛出任何异常,结果文件夹已创建,但其他文件夹没有移动到 Results
文件夹中。
def create_folder(self,folder_name):
'''Create folders if does not exist'''
path,fileName = os.path.split(self.snmpPaths[0])
target = os.path.join(path, folder_name)
if not os.path.exists(target):
os.makedirs(target)
return target
其他方法的片段
if flag ==1:
for png in pngs:
if 'MPM' in png:
target = self.create_folder("MPM")
folderList.add(target)
elif 'DAT' in png:
target = self.create_folder("DAT")
folderList.add(target)
elif 'HNR' in png:
target = self.create_folder("HNR")
folderList.add(target)
elif 'VER' in png:
target = self.create_folder("VER")
folderList.add(target)
elif 'XT2R' in png:
target = self.create_folder("XT2R")
folderList.add(target)
else:
target = self.create_folder("Other")
folderList.add(target)
try:
print "png =", png
print "target = ", target
os.rename(png, os.path.join(target, png))
print "png after =", png
except BaseException:
print "Could not rename file for target"
for folder in folderList:
# path,folder = os.path.split(folder)
# folder = "./%s" %(folder)
try:
print "folder = ", folder
print "results = ", results
os.rename(folder, os.path.join(results, folder))
print "folder after rename = ", folder
except BaseException:
print "Could not rename file for results"
这是我的 print
陈述的示例。如果需要,我可以提供更多。任何帮助将不胜感激。我试图复制与 png 文件相同的格式 (./FILE
),如我的注释代码所示,但我会得到 BaseException
。关于为什么我的代码没有按照我想要的方式执行的解释会很好。我猜这与我的 folder
变量有关。
png = ./VER_SUBMODE.png
目标=D:\SNMP\SPINACH\VER
png = ./VER_SUBMODE.png
png = ./VER_TX_STATUS.png
目标=D:\SNMP\SPINACH\VER
png = ./VER_TX_STATUS.png
文件夹=D:\SNMP\SPINACH\VER
结果=D:\SNMP\SPINACH\Results_2015-05-08_09-21-01
重命名后的文件夹 = D:\SNMP\SPINACH\VER
试试这个:
os.rename(folder, os.path.join(results, os.path.basename(folder)))
您的问题在于尝试连接共享同一路径的两个目录。以上在我的机器上有效。
我 运行 遇到了一些麻烦,我相信这很容易解决。我目前正在从一个路径中提取 png 文件,并将它们保存在另一个路径中的文件夹中。这一切都正确完成。我之后尝试做的是将这些文件夹分组到一个 Results
文件夹中。我当前的代码没有抛出任何异常,结果文件夹已创建,但其他文件夹没有移动到 Results
文件夹中。
def create_folder(self,folder_name):
'''Create folders if does not exist'''
path,fileName = os.path.split(self.snmpPaths[0])
target = os.path.join(path, folder_name)
if not os.path.exists(target):
os.makedirs(target)
return target
其他方法的片段
if flag ==1:
for png in pngs:
if 'MPM' in png:
target = self.create_folder("MPM")
folderList.add(target)
elif 'DAT' in png:
target = self.create_folder("DAT")
folderList.add(target)
elif 'HNR' in png:
target = self.create_folder("HNR")
folderList.add(target)
elif 'VER' in png:
target = self.create_folder("VER")
folderList.add(target)
elif 'XT2R' in png:
target = self.create_folder("XT2R")
folderList.add(target)
else:
target = self.create_folder("Other")
folderList.add(target)
try:
print "png =", png
print "target = ", target
os.rename(png, os.path.join(target, png))
print "png after =", png
except BaseException:
print "Could not rename file for target"
for folder in folderList:
# path,folder = os.path.split(folder)
# folder = "./%s" %(folder)
try:
print "folder = ", folder
print "results = ", results
os.rename(folder, os.path.join(results, folder))
print "folder after rename = ", folder
except BaseException:
print "Could not rename file for results"
这是我的 print
陈述的示例。如果需要,我可以提供更多。任何帮助将不胜感激。我试图复制与 png 文件相同的格式 (./FILE
),如我的注释代码所示,但我会得到 BaseException
。关于为什么我的代码没有按照我想要的方式执行的解释会很好。我猜这与我的 folder
变量有关。
png = ./VER_SUBMODE.png
目标=D:\SNMP\SPINACH\VER
png = ./VER_SUBMODE.png
png = ./VER_TX_STATUS.png
目标=D:\SNMP\SPINACH\VER
png = ./VER_TX_STATUS.png
文件夹=D:\SNMP\SPINACH\VER
结果=D:\SNMP\SPINACH\Results_2015-05-08_09-21-01
重命名后的文件夹 = D:\SNMP\SPINACH\VER
试试这个:
os.rename(folder, os.path.join(results, os.path.basename(folder)))
您的问题在于尝试连接共享同一路径的两个目录。以上在我的机器上有效。