python代码在windows的cmd中运行出错,pycharm中正常
着个代码在pycharm运行也是正常的
for i in Device_name_list:
#print(i.strip())
j = difflib.get_close_matches(i.strip(), file, 1, cutoff=0.5) #如果设置为0.6如果匹配可以调整至0.5,设置近似值,实际就是达到多少比例
print(j)
print(j)
jj = (j)
jjj = path + jj
主要涉及时调用列表的元素的时候没有说是序列不在范围,使用pycharm打印的列表发现列表中是有相关元素的,请问各位有啥方法能帮帮我不。
从图中可以看到你打印的 j 列表都为空,那么列表索引肯定会导致你报错
是不是你读取文件的问题,代码中读取的文件 和 PyCharm 读取的文件并不是同一个
因为你的描述 PyCharm 是可以正常执行的,那么说明 PyCharm 的列表也不是空的
Twilight6 发表于 2022-2-6 19:39
从图中可以看到你打印的 j 列表都为空,那么列表索引肯定会导致你报错
是不是你读取文件的问题,代码 ...
可能是由于文件运行的路径的问题吗? Twilight6 发表于 2022-2-6 19:39
从图中可以看到你打印的 j 列表都为空,那么列表索引肯定会导致你报错
是不是你读取文件的问题,代码 ...
您好,刚刚我测试了一下,Device这个列表中有元素,然后使用for循环,是因为在windows中file这个列表中没有元素。。。但是我搞不清出为啥pycharm中有元素{:5_102:}
print(Device_name_list)
for i in Device_name_list:
#print(i.strip())
j = difflib.get_close_matches(i.strip(), file, 1, cutoff=0.5) #如果设置为0.6如果匹配可以调整至0.5,设置近似值,实际就是达到多少比例
print(j)
print(j)
jj = (j)
jjj = path + jj 土豆土豆皮皮 发表于 2022-2-6 19:42
可能是由于文件运行的路径的问题吗?
这需要看你代码的具体情况,若你代码中读取文件填写的都是相对路径,那么和你代码文件的路径也有关系
若代码中读取文件的都是绝对路径,那么代码文件的存储路径并不影响代码读取文件
你可以尝试将 cmd 路径调整到你之前 PyCharm 中执行成功的代码路径下重新执行 土豆土豆皮皮 发表于 2022-2-6 19:47
您好,刚刚我测试了一下,Device这个列表中有元素,然后使用for循环,是因为在windows中file这个列表中没 ...
有可能是因为 get_close_matches这个函数没有找到相识的词语 Twilight6 发表于 2022-2-6 19:51
有可能是因为 get_close_matches这个函数没有找到相识的词语
是的,确实cmd运行的时候这个函数里面的列表时空列表 Twilight6 发表于 2022-2-6 19:47
这需要看你代码的具体情况,若你代码中读取文件填写的都是相对路径,那么和你代码文件的路径也有关系
...
我cmd的路径是我的代码在的路径了 土豆土豆皮皮 发表于 2022-2-6 21:06
我cmd的路径是我的代码在的路径了
尝试着将 cmd 路径调整到你之前 PyCharm 中执行成功的代码路径下重新执行
Twilight6 发表于 2022-2-6 21:24
尝试着将 cmd 路径调整到你之前 PyCharm 中执行成功的代码路径下重新执行
你好问题已经找到了,因为我的路径中存在中文,我试了一下纯英文的没有问题,请问您有方法处理用户输入的路径中带有中文的情况吗?
页:
[1]