[英]File not found with Python's fileinput
給出以下代碼:
# Edit build number in test report
print(path) # TODO remove
html_report = fileinput.input(path, inplace=True)
for line in html_report:
print(line.replace('$BUILD_NUMBER',
args.number).rstrip())
html_report.close()
我得到以下輸出:
/home/jenkins/workspace/reports/report201610261053.html
Traceback (most recent call last):
File "report_generator.py", line 58, in <module>
for line in html_report:
File "/usr/lib/python2.7/fileinput.py", line 252, in next
line = self.readline()
File "/usr/lib/python2.7/fileinput.py", line 321, in readline
os.rename(self._filename, self._backupfilename)
OSError: [Errno 2] No such file or directory
如果我只使用命令:
gedit /home/jenkins/workspace/reports/report201610261053.html
我可以檢查該文件是否存在。 實際上,如果不是這樣,我希望在fileinput.input()
行而不是在行循環中會引發此錯誤。
有什么問題的主意嗎?
您的“路徑”值是多少? 我認為您應該嘗試使用絕對路徑
您還可以檢查用戶的文件權限。
在您顯示的代碼中,我看不到任何錯誤。
我可以檢查該文件是否存在。 實際上,如果不是這樣,我希望在fileinput.input()行而不是在行循環中會引發此錯誤。
僅當嘗試打開文件並且在for循環中發生時,才報告該錯誤。
與手動驗證文件是否存在相比,您的代碼是否可能在其他用戶下運行,並且在該路徑上看不到該文件?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.