file_dir_path1 = filePath + '\\pdf\\' filePath1 = file_dir_path1 pdf_lst = [f for f in os.listdir(filePath1) if f.endswith('.pdf')] pdf_lst = [os.path.join(filePath1, filename) for filename in pdf_lst] file_merger = PdfMerger() for pdf in pdf_lst: file_merger.append(pdf) output_file_path = os.path.join(file_dir_path,output_file_name) file_merger.write(output_file_path) file_merger.close(),怎么使传参路径为相对路径
时间: 2023-12-12 21:05:32 浏览: 29
如果你想传递相对路径作为参数,你需要确保在代码中使用相对路径,而不是绝对路径。你可以使用`os.path.abspath()`函数将相对路径转换为绝对路径,然后将其作为参数传递给函数。例如:
```
import os
from PyPDF2 import PdfFileMerger
def merge_pdfs(input_dir, output_filename):
input_dir_abs = os.path.abspath(input_dir)
pdf_lst = [f for f in os.listdir(input_dir_abs) if f.endswith('.pdf')]
pdf_lst = [os.path.join(input_dir_abs, filename) for filename in pdf_lst]
file_merger = PdfFileMerger()
for pdf in pdf_lst:
file_merger.append(pdf)
output_file_path = os.path.join(input_dir_abs, output_filename)
file_merger.write(output_file_path)
file_merger.close()
# 传递相对路径作为参数
merge_pdfs('pdf', 'merged.pdf')
```
在这个例子中,`input_dir`参数是相对路径,`os.path.abspath()`函数将其转换为绝对路径`input_dir_abs`。然后,使用`input_dir_abs`作为PDF文件的目录,将其传递给函数。这将确保代码使用相对路径而不是绝对路径。