我只是想尝试做一些python脚本,将一些文件移动到.xlsx文件中给出的目的地。 为此我也使用os.path.isfile方法。
from openpyxl import load_workbook
from os.path import basename, dirname, exists, isfile
from os import rename
wb = load_workbook(filename = 'list.xlsx')
tbl1 = wb['Tabelle1']
i = 2
entry = tbl1['B{}'.format(i)].value
while not entry == None:
entry = tbl1['B{}'.format(i)].value
if isfile(basename(entry) + ' (2)'):
print("Datei doppelt vorhanden")
i += 1
continue
if isfile(basename(entry)):
print("Verschiebe {}".format(basename(entry)))
rename(basename(entry),'U:\\' + dirname(entry)[33:] + '/http_download/' + basename(entry))
i += 1
当我运行脚本时,它不会打印任何内容我必须使用Ctrl + C来停止它.IDLE然后告诉我isFile引发了一个看起来有点奇怪的FileNotFoundError。
错误:
Traceback (most recent call last):
File "C:\Users\user\AppData\Local\Programs\Python\Python35\lib\genericpath.py", line 30, in isfile
st = os.stat(path)
FileNotFoundError: [WinError 2] Das System kann die angegebene Datei nicht finden: 'interview_jahn.flv'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "Y:\censored\FLV-MP4-Codierung\neucodier_script.py", line 17, in <module>
if isfile(basename(entry)):
File "C:\Users\user\AppData\Local\Programs\Python\Python35\lib\genericpath.py", line 30, in isfile
st = os.stat(path)
KeyboardInterrupt
答案 0 :(得分:0)
这可能是一个无限循环,entry
永远不会None
while not entry == None:
entry = tbl1['B{}'.format(i)].value
if isfile(basename(entry) + ' (2)'):
...
断开时,会得到一个KeyboardInterrupt
,它会中断isfile()
中嵌入的(捕获的)异常处理(内部使用os.stat
,并捕获异常,这在文件中是正常的不存在)。
错误消息&#34;在处理上述异常期间,发生了另一个异常&#34;没有其他说法。这里的主要问题是你的无限循环。