求助怎么运行代码

一、我在看这个的时候[教程]从epub/mobi制作MDX方法(零基础可学会)
运行.cmd文件的时候闪了一下没有运行,怎么解决呀
image
二、网上下的代码,比如某某.py,比如某个针对PDF、解MDX的代码,py我也安装了,怎么让他们对我想处理的文件起作用。网络上找了很多,没有找到怎么直接用的,求指导一下

要么用cd 切换路径;
要么把这句话写入txt文件,然后修改格式为bat。直接在需要合并的文件夹下,双击这个

1 Like

直接双击运行cmd吧:

  1. 你的路径里面似乎有空格——那么你就必须要用""把路径包起来;
  2. 你似乎不是在放所有txt的地方编写、运行脚本。即使是,你也要在想要执行的地方用VSCode打开想要编写的脚本文件后,再通过文件-打开文件夹切换路径
    image
    上图所示的就是没有正确使用VSCode的例子
    image
    这幅图才能在 VSCode 内运行脚本
3 Likes

谢谢您,我观察了一下,我是直接用7z 直接对epub文件解压的,解压处理后是.xhtml文件,后缀多了一个x,把里面的代码加一个x成功运行了。

谢谢前辈操作示范,我观察了一下,我是直接用7z 直接对epub文件解压的,解压处理后是.xhtml文件,后缀多了一个x,把里面的代码加一个x成功运行了。 请求您稍微指导一下我的第二个问题,我要开启我的计算机副业了,哈哈哈

2 Likes

方便发下代码么?

我很久没有用过别人的代码了,可能解决不了那些比较高深的代码哈

OCRmyPDF-master.rar (6.0 MB)
从github下载的,STAR很高的,不会用。谢谢~

好的哈,我看一下(你一说star有点高,我就觉得可能有点麻烦了,可能要花点时间)

1 Like

没事没事,您看,
image
界面是这样的,不知道怎么对某一个文件起作用,以前有尝试,但是没成功。如果这个学会了,感觉计算机就启蒙了。我感觉我现在对医学知识的追求没有对计算机技术的追求高了。

这是一个命令行工具形式的脚本,你看输出,你运行py setup.py --help 查看帮助

2 Likes

久等了哈

大致流程

一般来说,规范的开源项目一般都会在README.md文件里写明项目的上手方式,你给的这个项目明确说明了:不管是什么系统,都不能用下载的源代码在本地跑(事实上,有不少开源项目都不支持这种方式)。

macOS、Linux 都只需要一行命令就可以安装好项目所需要的软件,而 Windows 却没说,所以我们按照要求去看看项目的文档是怎么说的:

For everyone else, see our documentation for installation steps.

下划找到native-windows,点击跳转,阅读要求,我们要装下面3个工具:

Python 3.7 (64-bit) or later
Tesseract 4.0 or later
Ghostscript 9.50 or later

然后官网推荐了Chocolatey Software | Chocolatey - The package manager for Windows——使用几行命令就可以安装好所需的软件,但我没有接触过这个工具,简单了解了下发现这个东西就是个应用市场一样的存在,再加上还有这些缺点:1. 默认装 C 盘;2. 有人反馈用这个工具也要踩不少坑;3.还是绕不过墙的小水管限制;4.部分功能收费

所以我选择自己装上面提到的TesseractGhostscript

首先是 Ghostscript,不要去官网Ghostscript : Downloads下载最新版,去 GitHub 找旧版Releases · ArtifexSoftware/ghostpdl-downloads (github.com)

下载适合自己电脑的版本,我下载的版本是:gs9540rc1w64.exe。可以不装在 C 盘,但注意安装完成之后找一下电脑上有没有gswin64c.exe这个文件(32位系统可能会不一样,但如果没有后面会报错提示),记一下D:\03Program\gs9.54.0\bin这个文件夹的位置(不想找的话,用 everthing 搜吧,这个软件免费的)

然后安装Tesseract
这篇文章写得非常好,照着做就可以了Tesseract OCR V5.0 安装教程(Windows) - 简书 (jianshu.com)

注意按照上面文章Tesseract OCR V5.0 安装教程(Windows) - 简书 (jianshu.com)里的添加环境变量时,把之前下载的gswin64c.exe所在的文件夹D:\03Program\gs9.54.0\bin也添加到环境变量(不知道环境变量是啥的,也搜下吧,编程也经常会碰到这个东西)

然后 win+r ,输入 cmd,打开命令行窗口,输入pip install ocrmypdf安装库。(也可以直接在VSCode的终端里面敲)

完成之后,输入ocrmypdf --help,不报错的话,到此为止项目要求的准备工作我们就做完了(庆祝一下:)

找个文件测试一下,下面的命令模仿的是官方文档的示例
(如果 README.md 里面说的不清楚的话,一般会在文档里有详细的说明和示例):

然后 win+r ,输入 cmd,打开命令行窗口,输入

ocrmypdf -l chi_sim+jpn 张如意_日本文学史.pdf 张如意_日本文学史_output.pdf

处理完之后再输入下面这个:(你可以试下英语和中文的顺序有没有影响)

ocrmypdf -l jpn+chi_sim 张如意_日本文学史.pdf 张如意_日本文学史_output_jp.pdf

这里的chi_sim的值需要参考之前用的Tesseract OCR V5.0 安装教程(Windows) - 简书 (jianshu.com)里面的tesseract --list-langs指令的值。

实际效果

第一条指令

第二条指令

似乎chi_sim+jpn的顺序没有影响

ABBYY(排版好得多,准确度只稍微好一点,比上面少了几个错误,
由于我看日语的 PDF比较多,就不用英文做测试了。)

CPU 资源消耗有点大,和 ABBYY 不相上下,不过考虑到可以批量处理,放在睡觉的时候跑也没有关系

可能会用到东西

这里的报错我没有遇到tesseract 安装及使用_showgea 的博客-CSDN 博客_tesseract

题外话

失敬失敬,没想这个项目背后使用的Tesseract居然是这么有名的 OCR 工具,本来我都打算劝你用(破解版的)ABBYY 了,不过目前为止我接触到的破解版都调用不了他家的命令行(对于松鼠党而言这个很重要呀 QAQ),所以专门花了小半天折腾。

另外,学会这个的话,真的可以算启蒙了:

这个项目的上手难度确实比较大,简单的 Python 项目往往是处理某个固定命名的文件,或者拖到命令行窗口就好了,这个不仅要用命令行参数(这个接触多了就知道怎么写了),还要在准备工作阶段装 2 个软件——装这 2 个软件会有各种各样的报错,要靠翻文档+Google 解决。虽然没有多少硬知识,但如何解决遇到的问题在很大程度上也是编程的重要技巧,有时间的话可以读读著名的《提问的智慧》(我才不会告诉你,我现在一半的时间都是在面向 Google 编程 233

另外,做好总结也蛮重要的,像上面这些东西,看别人的不去做是没有多大收获的;代码能跑之后,不用自己的话再总结一遍,过一段可能又会忘掉。

所以加油吧,祝你在计算机的世界学得开心:)

3 Likes

非常感谢您手把手式的教学,我跟着这个步骤慢慢学习、慢慢探索,非常感谢!

我有个女性朋友在日本读博,如您在那边的话,我可以介绍互相认识一下

按步骤来的,结果还是没装上,不知哪出的问题
C:\Users\强>pip install ocrmypdf
Collecting ocrmypdf
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by ‘ProtocolError(‘Connection aborted.’, ConnectionResetError(10054, ‘远程主机强迫关闭了一个现有的连接。’, None, 10054, None))’: /packages/55/86/48df2d93daf38731a3875e6e661227c219aa3fedca5581881e7f2d0c7e8f/ocrmypdf-13.7.0-py37-none-any.whl
WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by ‘ProtocolError(‘Connection aborted.’, ConnectionResetError(10054, ‘远程主机强迫关闭了一个现有的连接。’, None, 10054, None))’: /packages/55/86/48df2d93daf38731a3875e6e661227c219aa3fedca5581881e7f2d0c7e8f/ocrmypdf-13.7.0-py37-none-any.whl
WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by ‘ProtocolError(‘Connection aborted.’, ConnectionResetError(10054, ‘远程主机强迫关闭了一个现有的连接。’, None, 10054, None))’: /packages/55/86/48df2d93daf38731a3875e6e661227c219aa3fedca5581881e7f2d0c7e8f/ocrmypdf-13.7.0-py37-none-any.whl
WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by ‘ProtocolError(‘Connection aborted.’, ConnectionResetError(10054, ‘远程主机强迫关闭了一个现有的连接。’, None, 10054, None))’: /packages/55/86/48df2d93daf38731a3875e6e661227c219aa3fedca5581881e7f2d0c7e8f/ocrmypdf-13.7.0-py37-none-any.whl
WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by ‘ProtocolError(‘Connection aborted.’, ConnectionResetError(10054, ‘远程主机强迫关闭了一个现有的连接。’, None, 10054, None))’: /packages/55/86/48df2d93daf38731a3875e6e661227c219aa3fedca5581881e7f2d0c7e8f/ocrmypdf-13.7.0-py37-none-any.whl
ERROR: Could not install packages due to an OSError: HTTPSConnectionPool(host=‘files.pythonhosted.org’, port=443): Max retries exceeded with url: /packages/55/86/48df2d93daf38731a3875e6e661227c219aa3fedca5581881e7f2d0c7e8f/ocrmypdf-13.7.0-py37-none-any.whl (Caused by ProtocolError(‘Connection aborted.’, ConnectionResetError(10054, ‘远程主机强迫关闭了一个现有的 连接。’, None, 10054, None)))

哇,这是在卖闺蜜的节奏嘛……非常后悔我为什么不早点准备润到那边去了:stuck_out_tongue_winking_eye:
哈哈哈,开个玩笑啦,但其实我是个不太擅长和人交流的人,是个典型的书呆子(nerd),一般来说,找我最快的方式就是通过邮件 NoHeartPen@outlook.com 啦:)
不过还是很好奇你的那位女性朋友大概是什么方向,如果是日语语言学的话,我想叨扰一下,请教一些问题——主要关于我的这个项目真·哪里不会点哪里_日本語非辞書形辞典_v2 - 日语 - FreeMdict Forum

1 Like

这个是由于网站被墙导致的,解决的手段问题比较敏感,先看看这个地方的评论吧https://csdiy.wiki/必学工具/翻墙/
(主要是我忘了自己是用的哪个评论的方法了233)

找到了:

教育邮箱每月免费50G(医学邮箱500g),我免费用了几年了,最大优点就是稳定,没有断过
付费的话是十几块每月200g,二十多每月500g,解锁奈菲流媒体,游戏
注册GLaDOS(GitHub - glados-network/GLaDOS: status of GLaDOS 实时更新), 并输入邀请码:
JM4ZB-WB8PT-XRN45-O82YA 激活
非PKU学生或者有邮箱的白嫖。可以加我TG Telegram: Contact @bizzd

如果你已经知晓这种东西的存在,那试试这里提到的方法系统开启代理后终端中 conda 或 pip 连接网络错误及换源问题

我偶尔也会碰到pip装不上东西,多数时候是因为网不好(比如敏感时期)

1 Like

请教个问题,你似乎是用 VSCode 比较多,为什有人要用 VSCode,而不是直接用 VS?现在的电脑也不在乎这点安装空间吧?

2 Likes

我是因为启动快,实在受不了Pycharm的启动速度了(可能还是我的笔记本太渣了233)

另外,有段时间我是把这玩意儿当做自己的笔记软件,因为上面有各种各样的插件

VS里面写Python早就可以了,插件也很多,微软以前卖很多钱的专业IDE为什么不用?没有推销的意思,只是想了解看我有没有漏掉什么。

1 Like

哈哈哈,可能还是宣传做的不好吧(VSCode被看成是Electron技术的巅峰之作,现在是我这样的大前端党逢人必吹的存在233),我是很晚才知道VS的存在,再加上没有看到很多人的推荐,所以也没有细细地研究。

我自己真正上手VSCode 还是因为要调试下用Auto.js写的简单脚本(Auto.js开发者只提供了 VSCode 插件)

正好当时读了一篇上手文章:keyboard: VS Code 编辑器高效配置指南 · 语雀

再之后,也没有写过什么大项目,所以就懒得换啦

另外,VSCode的插件里面有些比较“奇怪”的东西,比如:

在 VSCode 中用 MarkDown 制作 Anki 卡片 (qq.com)

Typora 收费了,你还会继续选择使用它吗? - 韦易笑的回答 - 知乎

知乎 on VSCode 来临 - 重新定义内容创作! - 牛岱的文章 - 知乎

2 Likes