我在Windows Powershell中运行一个循环,它运行pdfminer,pdf2的脚本文本.py在一个文件目录上。循环如下:
$PATH="D:/PDFdirectory"
foreach ($f in $PATH)
{
python pdf2txt.py -o $f.txt "$f" "${f%.pdf}.txt"
}
当我尝试在Powershell中运行上面的代码时,遇到“权限被拒绝”错误。错误指向下面pdf2txt脚本中的outfp=file(outfile,'w+b')。在
^{pr2}$我已经更改了pdf2中的读写条件文本.py为了与Windows兼容,现在我被卡住了。有人能帮我吗?在
谢谢
第一个问题是PowerShell脚本中的语法不正确。在
这一位:
请求找到一个名为
f%.pdf
的变量并将“.txt”添加到它的值以创建字符串。你没有这样的变量,所以你得到的只有“.txt”。在您的第二个问题(我猜是)您似乎想要迭代该目录中的所有PDF文件。但你还没有指示PowerShell这么做。在
所以,我想你们需要这样的代码:
^{pr2}$更多说明:
$f.DirectoryName
-包含该文件的目录的路径$f.BaseName
-不带扩展名的文件名"$($f.BaseName).txt"
-括号中标出了将在构造最终字符串之前执行的子表达式。在($f.FullName -replace '.pdf$','.txt')
-使用regex replace在完整文件名(和路径)的末尾找到.pdf
,并将其替换为.txt
。在相关问题 更多 >
编程相关推荐