python脚本违反了命令行字符限制

kxeu7u2r  于 2021-09-08  发布在  Java
关注(0)|答案(0)|浏览(254)

我使用python脚本将不同文件夹中的许多图像批量转换为单个PDF(使用https://pypi.org/project/img2pdf/):

  1. import os
  2. import subprocess
  3. import img2pdf
  4. from shutil import copyfile
  5. def main():
  6. folders = [name for name in os.listdir(".") if os.path.isdir(name)]
  7. for f in folders:
  8. files = [f for f in os.listdir(f)]
  9. p = ""
  10. for ffile in files:
  11. p += f+'\\' + ffile + " "
  12. os.system("py -m img2pdf *.pn* " + p + " --output " + f + "\combined.pdf")
  13. if __name__ == '__main__':
  14. main()

但是,尽管在windows 10上通过powershell运行该命令,并且尽管使用了非常短的文件名,但当图像数量非常高(例如超过600个左右)时,powershell仍会显示错误“命令行太长”,并且不会创建pdf。我知道命令行字符串有限制(https://docs.microsoft.com/en-us/troubleshoot/windows-client/shell-experience/command-line-string-limitation),但我也知道,对于powershell,此限制更高(powershell避免cmd 8191字符限制),我无法确定如何修复脚本。我想问你,你是否可以帮助我修复脚本,以避免违反字符限制。非常感谢。
ps:我在将脚本插入包含图像文件夹的父文件夹后使用脚本;然后在每个子文件夹中创建输出pdf文件。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题