os.path.isfile 引发 FileNotFoundError
os.path.isfile raises FileNotFoundError
我只是想做一个小 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
这可能是一个无限循环,entry
永远不会None
while not entry == None:
entry = tbl1['B{}'.format(i)].value
if isfile(basename(entry) + ' (2)'):
...
中断时,你会得到一个KeyboardInterrupt
,它会中断嵌入在isfile()
中的(捕获的)异常处理(它在内部使用os.stat
,并捕获异常,当该文件不存在)。
错误信息"During handling of the above exception, another exception occurred"没有另外说明。这里的主要问题是你最后的无限循环。
我只是想做一个小 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
这可能是一个无限循环,entry
永远不会None
while not entry == None:
entry = tbl1['B{}'.format(i)].value
if isfile(basename(entry) + ' (2)'):
...
中断时,你会得到一个KeyboardInterrupt
,它会中断嵌入在isfile()
中的(捕获的)异常处理(它在内部使用os.stat
,并捕获异常,当该文件不存在)。
错误信息"During handling of the above exception, another exception occurred"没有另外说明。这里的主要问题是你最后的无限循环。