Python使用“传递文件名”/&引用;及;()";代写
我试图获取文件夹中的所有文件名,然后使用相同的名称保存jpg。当我运行这个脚本时,一切正常。我没有足够的时间每次自己写文件名,所以我把所有的文件名都传给文件夹PDF。 下面是以下代码的输出Python使用“传递文件名”/&引用;及;()";代写,python,pdf,path,directory,filenames,Python,Pdf,Path,Directory,Filenames,我试图获取文件夹中的所有文件名,然后使用相同的名称保存jpg。当我运行这个脚本时,一切正常。我没有足够的时间每次自己写文件名,所以我把所有的文件名都传给文件夹PDF。 下面是以下代码的输出 import ghostscript, os from os import listdir from os.path import isfile, join def get_files(path): input_files = [f for f in listdir(path) if isfile(
import ghostscript, os
from os import listdir
from os.path import isfile, join
def get_files(path):
input_files = [f for f in listdir(path) if isfile(join(path, f))]
return input_files
def pdf2jpeg(pdf_input_path, jpeg_output_path):
args = ["pdf2jpeg", # actual value doesn't matter
"-dNOPAUSE",
"-sDEVICE=jpeg",
"-dJPEGQ=95",
"-r600x600",
"-sOutputFile=" + jpeg_output_path,
pdf_input_path]
ghostscript.Ghostscript(*args)
if __name__ == '__main__':
input_files = get_files("pdfs")
pdf2jpeg("pdfs/test1.pdf", "jpgs/test1.jpg")
for input_file in input_files:
input_file_name = str("pdfs/"+str(input_file))
output_file_name = str('jpgs/'+str(input_file).replace(" ", "_").replace("pdf", "jpg"))#split(".")[0]
print input_file_name
print output_file_name
正如您在主函数中看到的pdf2jpeg(“pdfs/test1.pdf”,“jpgs/test1.jpg”)
很好。现在我想循环浏览导入的文件列表。如您所见,我正在循环和打印以获得以下输出:
##### 34209280 c_void_p(34209280)
pdfs/test1_(5th_copy).pdf
/jpgs/test1_(5th_copy).jpg
pdfs/test1_(copy).pdf
/jpgs/test1_(copy).jpg
pdfs/test1_(4th_copy).pdf
/jpgs/test1_(4th_copy).jpg
pdfs/test1_(3rd_copy).pdf
/jpgs/test1_(3rd_copy).jpg
pdfs/test1_(another_copy).pdf
/jpgs/test1_(another_copy).jpg
pdfs/test1.pdf
/jpgs/test1.jpg
pdfs/test1_(6th_copy).pdf
/jpgs/test1_(6th_copy).jpg
将以下行添加到我的循环中时
for input_file in input_files:
input_file_name = str("pdfs/"+str(input_file))
output_file_name = str('jpgs/'+str(input_file).replace(" ", "_").replace("pdf", "jpg"))#split(".")[0]
print input_file_name
print output_file_name
pdf2jpeg(input_file_name, output_file_name)
# ADDED THIS LINE: pdf2jpeg(input_file_name, output_file_name)
# INSTEAD OF pdf2jpeg("pdfs/test1.pdf", "jpgs/test1.jpg")
我得到这个输出:
pdfs/test1 (copy).pdf
jpgs/test1_(copy).jpg
Traceback (most recent call last):
File "gsPdf2Jpg.py", line 27, in <module>
pdf2jpeg(str(input_file_name), str(output_file_name))
File "gsPdf2Jpg.py", line 17, in pdf2jpeg
ghostscript.Ghostscript(*args)
File "/home/trackstarz/prohealth/phenv/local/lib/python2.7/site-packages/ghostscript/__init__.py", line 157, in Ghostscript
stderr=kw.get('stderr', None))
File "/home/trackstarz/prohealth/phenv/local/lib/python2.7/site-packages/ghostscript/__init__.py", line 72, in __init__
rc = gs.init_with_args(instance, args)
File "/home/trackstarz/prohealth/phenv/local/lib/python2.7/site-packages/ghostscript/_gsprint.py", line 177, in init_with_args
raise GhostscriptError(rc)
pdfs/test1(副本).pdf
jpgs/test1(复制).jpg
回溯(最近一次呼叫最后一次):
文件“gsPdf2Jpg.py”,第27行,在
pdf2jpeg(str(输入文件名),str(输出文件名))
pdf2jpeg格式的文件“gsPdf2Jpg.py”,第17行
ghostscript.ghostscript(*args)
文件“/home/trackstarz/prohealth/phenv/local/lib/python2.7/site-packages/ghostscript/_-init___;.py”,第157行,在ghostscript中
stderr=kw.get('stderr',无))
文件“/home/trackstarz/prohealth/phenv/local/lib/python2.7/site-packages/ghostscript/_-init____;.py”,第72行,in__-init__
rc=gs.init_和_参数(实例,参数)
文件“/home/trackstarz/prohealth/phenv/local/lib/python2.7/site packages/ghostscript/_gsprint.py”,第177行,在init_中带有_参数
引发GhostscriptError(rc)
如何传递正确的目录/文件名以运行函数?
我正在使用Ubuntu14.06 python 2.7和Ghostscript库,括号似乎是问题所在。斜杠没问题。你是说用下划线替换实际文件名中的空格吗
input\u file\u name=str(“pdfs/”+str(input\u file)。替换(“,”)
失败,因为唯一的区别是我正在传递所需的文件名,而不是将其写入?括号似乎是问题所在。斜杠没问题。你是说用下划线替换实际文件名中的空格吗input\u file\u name=str(“pdfs/”+str(input\u file)。替换(“,”)
失败,因为唯一的区别是我正在传递所需的文件名,而不是将其写入?
pdfs/test1 (copy).pdf
jpgs/test1_(copy).jpg
Traceback (most recent call last):
File "gsPdf2Jpg.py", line 27, in <module>
pdf2jpeg(str(input_file_name), str(output_file_name))
File "gsPdf2Jpg.py", line 17, in pdf2jpeg
ghostscript.Ghostscript(*args)
File "/home/trackstarz/prohealth/phenv/local/lib/python2.7/site-packages/ghostscript/__init__.py", line 157, in Ghostscript
stderr=kw.get('stderr', None))
File "/home/trackstarz/prohealth/phenv/local/lib/python2.7/site-packages/ghostscript/__init__.py", line 72, in __init__
rc = gs.init_with_args(instance, args)
File "/home/trackstarz/prohealth/phenv/local/lib/python2.7/site-packages/ghostscript/_gsprint.py", line 177, in init_with_args
raise GhostscriptError(rc)