最近在写测试工具时,需要修改文件名,因此用到了 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于」,立志做一个每天都有正反馈的人!