鱼C论坛

 找回密码
 立即注册
查看: 1652|回复: 7

[已解决]2月份运行过的代码,今天发现不能运行了,请大神帮忙看看有哪些可能的原因呢?

[复制链接]
发表于 2020-3-14 22:57:48 | 显示全部楼层 |阅读模式
5鱼币
这是代码:
# coding:utf-8
import shapefile

w = shapefile.Writer(shapefile.POINT)
w.autoBalance = 1
w.field('x', 'C')
w.field('y', 'C', '40')
w.field('v', 'C', '40')
w.point(116, 6, 6)
w.record(116, 6, 6)

w.save('point.shp')

下面是报错:
Traceback (most recent call last):
  File "D:/PythonProjects/mobai/debug/test_pyshp.py", line 10, in <module>
    w = shapefile.Writer(shapefile.POINT)
  File "D:\Anaconda3\lib\site-packages\shapefile.py", line 1057, in __init__
    self.shp = self.__getFileObj(os.path.splitext(target)[0] + '.shp')
  File "D:\Anaconda3\lib\ntpath.py", line 202, in splitext
    p = os.fspath(p)
TypeError: expected str, bytes or os.PathLike object, not int

请各位大佬帮我看一下,代码思路就是利用pyshp库完成一个shape文件的写入和保存工作。拜托
最佳答案
2020-3-14 22:57:49
可能是等式[]和‘ ’有更新所以w=。。。。不成例

最佳答案

查看完整内容

可能是等式[]和‘ ’有更新所以w=。。。。不成例
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-14 22:57:49 | 显示全部楼层    本楼为最佳答案   
可能是等式[]和‘ ’有更新所以w=。。。。不成例
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-3-14 23:03:03 | 显示全部楼层
有哪些可能的原因会·造成这种情况出现呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-14 23:04:58 | 显示全部楼层
这个是类型错误 不是什么别的啊
类型错误:应为str、bytes或os.PathLike对象,而不是int
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-3-15 11:59:52 | 显示全部楼层
admintest166 发表于 2020-3-14 23:04
这个是类型错误 不是什么别的啊
类型错误:应为str、bytes或os.PathLike对象,而不是int

传入的是一个路径,肯定就是字符串啊,所以怎么会是整形呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-3-15 12:18:12 | 显示全部楼层
这是os模块里面引发错误的地方
    if isinstance(path, (str, bytes)):
        return path

    # Work from the object's type to match method resolution of other magic
    # methods.
    path_type = type(path)
    try:
        path_repr = path_type.__fspath__(path)
    except AttributeError:
        if hasattr(path_type, '__fspath__'):
            raise
        else:
            raise TypeError("expected str, bytes or os.PathLike object, "
                            "not " + path_type.__name__)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-3-15 12:18:57 | 显示全部楼层
wangka 发表于 2020-3-14 23:36
可能是等式[]和‘ ’有更新所以w=。。。。不成例

没太懂,请说明白一点
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-3-15 12:33:03 | 显示全部楼层
xsywa 发表于 2020-3-15 12:18
没太懂,请说明白一点

感谢,我找到答案了,应该是模块对于这个类已经更新了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-9 04:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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