最近在寫測試工具時,需要修改文件名,因此用到了 os.chdir() 方法來切換到默認路徑,但是修改文件目錄後,程序運行異常,報錯:Can’t convert ‘NoneType’ object to str implicitly:
def open_log_dir(self, result_log):
'''
log 重命名
:param result_log:
:return:
'''
log_name = result_log.split('/')[-1]
dlg_title = '另存爲'
txt_label = '請輸入文件名:'
defaultInput = log_name
echo_mode = QLineEdit.Normal
text, OK = QInputDialog.getText(self, dlg_title, txt_label, echo_mode, defaultInput)
if OK:
path = self.def_dir
os.chdir(path)
os.rename(log_name, text)
os.system("start " + path)
self.set_status_bar('重命名成功!')
但是調用該方法後,再設置默認路徑時,提示獲取不到配置文件,原來工作路徑改變後,必須切回原來路徑才能操作!!!
修改後代碼如下:
def open_log_dir(self, result_log):
'''
log 重命名
:param result_log:
:return:
'''
log_name = result_log.split('/')[-1]
dlg_title = '另存爲'
txt_label = '請輸入文件名:'
defaultInput = log_name
echo_mode = QLineEdit.Normal
text, OK = QInputDialog.getText(self, dlg_title, txt_label, echo_mode, defaultInput)
if OK:
path = self.def_dir
temp_path = os.getcwd()
os.chdir(path)
os.rename(log_name, text)
os.system("start " + path)
os.chdir(temp_path)
self.set_status_bar('重命名成功!')
我是「Super於」,立志做一個每天都有正反饋的人!