土豆土豆皮皮 发表于 2022-2-6 19:31:00

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打印的列表发现列表中是有相关元素的,请问各位有啥方法能帮帮我不。

Twilight6 发表于 2022-2-6 19:39:09


从图中可以看到你打印的 j 列表都为空,那么列表索引肯定会导致你报错

是不是你读取文件的问题,代码中读取的文件 和 PyCharm 读取的文件并不是同一个

因为你的描述 PyCharm 是可以正常执行的,那么说明 PyCharm 的列表也不是空的

土豆土豆皮皮 发表于 2022-2-6 19:42:09

Twilight6 发表于 2022-2-6 19:39
从图中可以看到你打印的 j 列表都为空,那么列表索引肯定会导致你报错

是不是你读取文件的问题,代码 ...

可能是由于文件运行的路径的问题吗?

土豆土豆皮皮 发表于 2022-2-6 19:47:34

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

Twilight6 发表于 2022-2-6 19:47:45

土豆土豆皮皮 发表于 2022-2-6 19:42
可能是由于文件运行的路径的问题吗?


这需要看你代码的具体情况,若你代码中读取文件填写的都是相对路径,那么和你代码文件的路径也有关系

若代码中读取文件的都是绝对路径,那么代码文件的存储路径并不影响代码读取文件

你可以尝试将 cmd 路径调整到你之前 PyCharm 中执行成功的代码路径下重新执行

Twilight6 发表于 2022-2-6 19:51:32

土豆土豆皮皮 发表于 2022-2-6 19:47
您好,刚刚我测试了一下,Device这个列表中有元素,然后使用for循环,是因为在windows中file这个列表中没 ...



有可能是因为 get_close_matches这个函数没有找到相识的词语

土豆土豆皮皮 发表于 2022-2-6 21:05:57

Twilight6 发表于 2022-2-6 19:51
有可能是因为 get_close_matches这个函数没有找到相识的词语

是的,确实cmd运行的时候这个函数里面的列表时空列表

土豆土豆皮皮 发表于 2022-2-6 21:06:41

Twilight6 发表于 2022-2-6 19:47
这需要看你代码的具体情况,若你代码中读取文件填写的都是相对路径,那么和你代码文件的路径也有关系
...

我cmd的路径是我的代码在的路径了

Twilight6 发表于 2022-2-6 21:24:51

土豆土豆皮皮 发表于 2022-2-6 21:06
我cmd的路径是我的代码在的路径了



尝试着将 cmd 路径调整到你之前 PyCharm 中执行成功的代码路径下重新执行

土豆土豆皮皮 发表于 2022-2-7 14:02:38

Twilight6 发表于 2022-2-6 21:24
尝试着将 cmd 路径调整到你之前 PyCharm 中执行成功的代码路径下重新执行

你好问题已经找到了,因为我的路径中存在中文,我试了一下纯英文的没有问题,请问您有方法处理用户输入的路径中带有中文的情况吗?
页: [1]
查看完整版本: python代码在windows的cmd中运行出错,pycharm中正常