首页 > 解决方案 > 尝试创建文件时出现 ValueError 未知 url 类型

问题描述

open(os.path.abspath(os.curdir) + "/children.csv", "w")用来创建数据并将其写入当前目录中的文件。当我运行此命令时,我收到以下错误:

ValueError: unknown url type: '/Users/EL-CAPITAN-2016/Downloads/children.csv'

我尝试使用 just open("children.csv","w"),但它给了我同样的错误。我尝试手动创建文件并使用它的 URL 来读取文件,open("/Users/EL-CAPITAN-2016/Downloads/children.csv","r")但同样的错误

创建和写入文件的代码

from urllib.request import urlopen as open
import os
print(os.path.abspath(os.curdir))
f = open(os.path.abspath(os.curdir) + '/children.csv','w')

我用来读取手动创建的文件的代码

from urllib.request import urlopen as open
import os
print(os.path.abspath(os.curdir))
f = open('/Users/EL-CAPITAN-2016/Downloads/children.csv','r')

我收到的错误日志如下

Traceback (most recent call last):
  File "children.py", line 7, in <module>
    f = open('children.csv','r')
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 222, in urlopen
    return opener.open(url, data, timeout)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 510, in open
    req = Request(fullurl, data)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 328, in __init__
    self.full_url = url
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 354, in full_url
    self._parse()
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 383, in _parse
    raise ValueError("unknown url type: %r" % self.full_url)
ValueError: unknown url type: '/Users/EL-CAPITAN-2016/Downloads/children.csv''

标签: pythonpython-3.x

解决方案


正如 Shuvojit & OP 发现的那样,问题在于urlopen替换open内置open

from urllib.request import urlopen as open

推荐阅读