Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 有压痕误差的_Python_Python 3.x - Fatal编程技术网

Python 有压痕误差的

Python 有压痕误差的,python,python-3.x,Python,Python 3.x,我的问题在于以下代码: import wget from selenium import webdriver from selenium.webdriver.chrome.options import Options import json import codecs import os import os.path import pyautogui import pyperclip import time import datetime chrome_options = Options()

我的问题在于以下代码:

import wget
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import json
import codecs
import os
import os.path
import pyautogui
import pyperclip
import time
import datetime

chrome_options = Options()
chrome_options.add_argument("--headless")
browser = webdriver.Chrome(options=chrome_options)
url = "https://www.youtube.com/channel/UC1M9tgEZqKMihgnYO33GvTQ/videos"

browser.get(url)
video = browser.find_element_by_xpath('//*[@id="video-title"]')
video_title = str(video.text)
with open('data.json', 'r') as f:
    data = json.load(f)
    past_title = data["title"]

if past_title == video_title:
    print("Don't post")
    l_updated=data["last_updated"]
    print("Lastest video upload was on " + l_updated)
else: 
    video.click()

    video_link = str(browser.current_url)
    video_id = video_link.split("=", 1)[1]
browser.quit()
group = ['100003333789620']

time.sleep(5)

pyautogui.keyDown('ctrl')
pyautogui.keyDown('t')
pyautogui.keyUp('t')
pyautogui.keyUp('ctrl')

for i in range(len(group)):
    link = 'https://www.facebook.com/messages/t/'+group[i]
    pyautogui.typewrite(link)
    pyautogui.typewrite('\n')

    print("Waiting for 10 seconds\n")
    time.sleep(10)

    pyautogui.moveTo(2034, 699, 4)
    pyautogui.click()
    time.sleep(2)
    print("Writing message about the new uploaded lecture\n")
    pyperclip.copy("Христо's Bot reporting for duty! Новата лекция е качена тук " +video_link)
    pyautogui.hotkey("ctrl", "v")
    time.sleep(4)

    pyautogui.keyDown('enter')
    pyautogui.keyUp('enter')
    print("Message was successfully sent!")
    time.sleep(2)

    pyautogui.keyDown('ctrl')
    pyautogui.keyDown('w')
    pyautogui.keyUp('w')
    pyautogui.keyUp('ctrl')
    print("Closing the tab now and storing data!")



data["title"]=video_title
data["last_updated"]=str(datetime.date.today())
with open("data.json","w") as f:
    json.dump(data, f)
time.sleep(5)
问题是,我想在else语句中把所有内容放在
video\u link=str(browser.current\u url)video\u id=video\u link.split(“=”,1)[1]
之后,但我一直收到缩进错误。代码可以工作,但它不检查json文件中是否存在视频标题(我尝试将其编码为utf-8,因为视频标题是西里尔文。它对其进行编码,但出于某种奇怪的原因,它不想从中读取,并抛出了一些我无法修复的charmap错误)

快速更新

我就这样把它修好了

with open("data.json", "w", encoding='utf-8') as f:
json.dump(data, f, ensure_ascii=False)

我可能想得太多了。 PyCharm也修复了凹痕


谢谢大家的帮助

charmap是一种编码器。你应该改变这一点。我想你没能把它改成utf-8。你能发送完整的错误信息吗?关于你的缩进,你在混合标签和空格。使用适当的IDE为您转换。这样的IDE还将告诉您使用
video\u link
,但您仅定义了
link
。请尝试PyCharm。字符映射错误是以下“'charmap'编解码器无法解码位置20中的字节0x90:字符映射到”
with open('data.json', 'r', encoding='utf-8') as f:
data = json.load(f)