鱼C论坛

 找回密码
 立即注册
查看: 1194|回复: 9

python代码在windows的cmd中运行出错,pycharm中正常

[复制链接]
发表于 2022-2-6 19:31:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
11111.png
着个代码在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[0])

    jj = (j[0])[/u]
    jjj = path + jj

主要涉及时调用列表的元素的时候没有说是序列不在范围,使用pycharm打印的列表发现列表中是有相关元素的,请问各位有啥方法能帮帮我不。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-2-6 19:39:09 | 显示全部楼层

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

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

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

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-6 19:42:09 | 显示全部楼层
Twilight6 发表于 2022-2-6 19:39
从图中可以看到你打印的 j 列表都为空,那么列表索引肯定会导致你报错

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

可能是由于文件运行的路径的问题吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-6 19:47:34 | 显示全部楼层
Twilight6 发表于 2022-2-6 19:39
从图中可以看到你打印的 j 列表都为空,那么列表索引肯定会导致你报错

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

您好,刚刚我测试了一下,Device这个列表中有元素,然后使用for循环,是因为在windows中file这个列表中没有元素。。。但是我搞不清出为啥pycharm中有元素
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[0])
    jj = (j[0])
    jjj = path + jj
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-6 19:47:45 | 显示全部楼层
土豆土豆皮皮 发表于 2022-2-6 19:42
可能是由于文件运行的路径的问题吗?


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

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

你可以尝试将 cmd 路径调整到你之前 PyCharm 中执行成功的代码路径下重新执行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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



有可能是因为 get_close_matches  这个函数没有找到相识的词语
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-6 21:05:57 | 显示全部楼层
Twilight6 发表于 2022-2-6 19:51
有可能是因为 get_close_matches  这个函数没有找到相识的词语

是的,确实cmd运行的时候这个函数里面的列表时空列表
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

我cmd的路径是我的代码在的路径了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-6 21:24:51 | 显示全部楼层
土豆土豆皮皮 发表于 2022-2-6 21:06
我cmd的路径是我的代码在的路径了



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

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-7 14:02:38 | 显示全部楼层
Twilight6 发表于 2022-2-6 21:24
尝试着将 cmd 路径调整到你之前 PyCharm 中执行成功的代码路径下重新执行

你好问题已经找到了,因为我的路径中存在中文,我试了一下纯英文的没有问题,请问您有方法处理用户输入的路径中带有中文的情况吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-6 06:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表