SOS,一个有趣的 Python 库 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
y4nssss

SOS,一个有趣的 Python 库

  •  
  •   y4nssss 2022 年 12 月 13 日 2167 次点击
    这是一个创建于 1229 天前的主题,其中的信息可能已经有所发展或是发生改变。
    import os
    import time

    import matplotlib
    import matplotlib.pyplot as plt

    import numpy as np
    import visbeat3 as vb

    source_video = vb.PullVideo(name='video', source_location='./data/01.mp4')

    # You can also directly specify an audio
    source_audio = vb.Audio('./data/111.mp3')
    #source_audio = vb.PullVideo(name='audio', source_location='./data/02.mp4')

    synch_video_beat = 0
    synch_audio_beat = 3
    nbeats = 32

    output_path = './result.mp4'

    # If source_audio is from an audio file, use target=source_audio
    warped = vb.Dancify(source_video=source_video,
    target=source_audio.getAudio(),
    synch_video_beat=synch_video_beat,
    synch_audio_beat=synch_audio_beat,
    force_recompute=True,
    warp_type='quad',
    nbeats=nbeats,
    output_path=output_path)


    最后报错:
    FileExistsError: [WinError 183] : './VisBeatAssets/VideoSources\\video\\VideoSource.json' -> ./VisBeatAssets/VideoSources\\video\\Data\\Backups\\\\VideoSource.json'

    python 版本:3.8.15
    来个大神指点一下吧
    9 条回复    2022-12-13 11:59:11 +08:00
    locoz
        1
    locoz  
       2022 年 12 月 13 日
    我的评价是:建议拿着报错内容去咨询 ChatGPT
    y4nssss
        2
    y4nssss  
    OP
       2022 年 12 月 13 日
    @locoz 尝试无果
    Xs0ul
        3
    Xs0ul  
       2022 年 12 月 13 日
    建议贴上完整的 stack trace 和报错信息。光看你这个报错,看起来像是重复执行某些代码,但没有权限覆盖旧的文件
    y4nssss
        4
    y4nssss  
    OP
       2022 年 12 月 13 日
    D:\tools\anaconda3\envs\pythonProject22\python.exe E:\workspace\pythonProject22\main.py
    destination: ./VisBeatAssets/VideoSources\ name: video source_location: ./data/01.mp4
    Video source at ./VisBeatAssets/VideoSources\video\
    Calculating frames for 01_Full...
    Done.
    Traceback (most recent call last):
    File "E:\workspace\pythonProject22\main.py", line 10, in <module>
    source_video = vb.PullVideo(name='video', source_location='./data/01.mp4')
    File "D:\tools\anaconda3\envs\pythonProject22\lib\site-packages\visbeat3\__init__.py", line 59, in PullVideo
    vs = VideoSource.NewVideoSource(destination=GetVideoSourcesDir(), name=vname, source_location=source_location, max_height=max_height, **kwargs);
    File "D:\tools\anaconda3\envs\pythonProject22\lib\site-packages\visbeat3\VideoSource.py", line 56, in NewVideoSource
    return VideoSource(path=vsdir, name=name, source_location=source_location, **kwargs);
    File "D:\tools\anaconda3\envs\pythonProject22\lib\site-packages\visbeat3\VideoSource.py", line 45, in __init__
    self.setSource(source_location=source_location, assert_valid=None, **kwargs);
    File "D:\tools\anaconda3\envs\pythonProject22\lib\site-packages\visbeat3\VideoSource.py", line 499, in setSource
    self.setSourceFile(path = source_location, **kwargs);
    File "D:\tools\anaconda3\envs\pythonProject22\lib\site-packages\visbeat3\VideoSource.py", line 549, in setSourceFile
    self.addVersion(path=output_path, version_label='Full');
    File "D:\tools\anaconda3\envs\pythonProject22\lib\site-packages\visbeat3\VideoSource.py", line 477, in addVersion
    self.save();
    File "D:\tools\anaconda3\envs\pythonProject22\lib\site-packages\visbeat3\VideoSource.py", line 219, in save
    self.hardSave();
    File "D:\tools\anaconda3\envs\pythonProject22\lib\site-packages\visbeat3\VideoSource.py", line 213, in hardSave
    os.rename(self.getJSONPath(), self.getDir('backup') + os.sep + self.AOBJECT_TYPE() + ".json");
    FileExistsError: [WinError 183] 当文件已存在时,无法创建该文件。: './VisBeatAssets/VideoSources\\video\\VideoSource.json' -> './VisBeatAssets/VideoSources\\video\\Data\\Backups\\\\VideoSource.json'

    进程已结束,退出代码 1
    y4nssss
        5
    y4nssss  
    OP
       2022 年 12 月 13 日
    调试:
    os.rename(self.getJSONPath(), self.getDir('backup') + os.sep + self.AOBJECT_TYPE() + ".json");
    y4nssss
        6
    y4nssss  
    OP
       2022 年 12 月 13 日
    windows 下不行 ubuntu 可以 why??
    Xs0ul
        7
    Xs0ul  
       2022 年 12 月 13 日
    https://docs.python.org/3/library/os.html

    On Windows, if dst exists a FileExistsError is always raised.
    On Unix, ... If both are files, dst will be replaced silently if the user has permission.
    craiiz
        8
    craiiz  
       2022 年 12 月 13 日
    @y4nssss 估计你把 VideoSource.json 这个删掉就可以了。因为什么程序在你脚本运行的时候占用了这个文件,导致你的脚本无法覆盖它。因为 windows 文件打开的时候是更改它的,但 linux 可以。
    y4nssss
        9
    y4nssss  
    OP
       2022 年 12 月 13 日
    @craiiz 这个试过了没用
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1662 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 35ms UTC 16:25 PVG 00:25 LAX 09:25 JFK 12:25
    Do have faith in what you're doing.
    (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-11940834-2', 'v2ex.com'); ga('send', 'pageview'); ga('send', 'event', 'Node', 'topic', 'qna'); ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86