从 URL Python 中删除白色 space

Removing white space from URL Python

我有一个URL,开头是白色的space。在将它传递给 urllib.request.urlretrieve.

之前,我必须将其删除
pdflink = ' https://www.doj.nh.gov/consumer/security-breaches/documents/a2z-field-services-20201218.pdf'

但是,我无法删除它。

到目前为止我尝试过的:

  1. pdflink.lstrip() : 不工作,我不知道为什么?
  2. pdflink.replace(' ', ''):不工作

知道如何删除它吗?

我的最终代码:

import openpyxl

wb = openpyxl.load_workbook('Data.xlsx')
ws = wb['Final']

pdflink = (ws.cell(row=4487,column=4).value).lstrip()

# pdflink will have value as shown below:
#pdflink = ' https://www.doj.nh.gov/consumer/security-breaches/documents/a2z-field-services-20201218.pdf'
try:
        urllib.request.urlretrieve(pdflink, 'test')
        return True
except FileNotFoundError:
        print(filename + ' Not present')
        return False

运行 上面的代码会抛出如下错误: URL错误:url打开错误未知url类型:https

错误的根本原因: URL.

开头的额外白色 space

它不仅仅是一个 space。你有一些非打印特殊字符作为第一个字符。我不知道是哪一个,但是当我从您的 post 剪切和粘贴时,我得到了一个额外的字符。您可以尝试 print(ord(pdflink[0])) 看看它是什么。您可能需要使用 pdflink = pdflink[2:] 来清除它。或者,搜索 http:

    i = pdflink.find('http')
    pdflink = pdflink[i:]

在space之前的link中实际上有一个unicode字符FEFF。你看不到它,但它正在破坏你的 lstrip

可以看到here

我建议使用 pdflink.split(' ')[-1]

字符串的开头可能有一些奇怪的字符 - 我会尝试使用指定的 encoding="UTF-8".

打开您要读取的文件

我还使用 pdflink.lstrip(" ") 解决了这个问题,在引号内我从你的原始字符串

中复制粘贴了非 space 的东西