在 cmd 和 IDE 上 运行 编码的函数内定义一个相对路径文件夹
Define a relative path folder inside a function that run code on both cmd and IDE
我有什么
我有一个代码在 cmd 上 运行 但由于文件路径定义的原因在我的 IDE (pycharm) 上运行不佳。我的项目文件夹结构是:
-broker
-data
-sample.pdf
-output
-report
-script
-functions.py
-venv
下面的函数在functions.py文件上,需要读取数据文件夹中的sample.pdf文件。
我已经尝试过的
在每个解释器中创建 运行 的两个解决方案。两者都正常工作。
# run well on IDE
pdf_path = pl.Path.cwd() / 'data' / file_name
# run well on cmd
pdf_path = pl.Path(r'../data') / file_name
这是完整的代码。
def extract_pdf(file_name):
"""
A function to extract data from stock market broker notes
"""
# load modules
import PyPDF2 as p2
import pathlib as pl
# assign file path to a variable
pdf_path = pl.Path(r'../data') / file_name
# read pdf file
with open(pdf_path, 'rb') as pdf_file:
pdf_fread = p2.PdfFileReader(pdf_file)
# extract all pages from pdf file
n = 0
while n < pdf_fread.getNumPages():
page = pdf_fread.getPage(n)
print(page.extractText())
n = n + 1
预期和实际结果
此代码 运行 在 cmd 上很好,因为我必须进入脚本文件夹和 运行 文件或导入模块。
我很感激任何帮助创建一条在 cmd 和 IDE 环境中都有效的路径。
如果我对你的理解是正确的 - 你 运行 来自 cmd "sits" 的脚本在 script
文件夹中。在 PyTorch 中 运行 的函数,我们直接在 broker
目录中调用它 main
- "sits"。
因此,您可以在文件夹树中向上移动您的脚本,或者为 main
函数指定一个不同的工作目录,因此当它在 IDE 中时 运行 它"home directory" 与 cmd 运行 时的脚本相同。
您可以在 PyCharm 中通过编辑 "Run/Debug Configurations" 中的工作目录来执行此操作。
查看此屏幕截图中的最后一个选项:
我有什么
我有一个代码在 cmd 上 运行 但由于文件路径定义的原因在我的 IDE (pycharm) 上运行不佳。我的项目文件夹结构是:
-broker
-data
-sample.pdf
-output
-report
-script
-functions.py
-venv
下面的函数在functions.py文件上,需要读取数据文件夹中的sample.pdf文件。
我已经尝试过的
在每个解释器中创建 运行 的两个解决方案。两者都正常工作。
# run well on IDE
pdf_path = pl.Path.cwd() / 'data' / file_name
# run well on cmd
pdf_path = pl.Path(r'../data') / file_name
这是完整的代码。
def extract_pdf(file_name):
"""
A function to extract data from stock market broker notes
"""
# load modules
import PyPDF2 as p2
import pathlib as pl
# assign file path to a variable
pdf_path = pl.Path(r'../data') / file_name
# read pdf file
with open(pdf_path, 'rb') as pdf_file:
pdf_fread = p2.PdfFileReader(pdf_file)
# extract all pages from pdf file
n = 0
while n < pdf_fread.getNumPages():
page = pdf_fread.getPage(n)
print(page.extractText())
n = n + 1
预期和实际结果
此代码 运行 在 cmd 上很好,因为我必须进入脚本文件夹和 运行 文件或导入模块。
我很感激任何帮助创建一条在 cmd 和 IDE 环境中都有效的路径。
如果我对你的理解是正确的 - 你 运行 来自 cmd "sits" 的脚本在 script
文件夹中。在 PyTorch 中 运行 的函数,我们直接在 broker
目录中调用它 main
- "sits"。
因此,您可以在文件夹树中向上移动您的脚本,或者为 main
函数指定一个不同的工作目录,因此当它在 IDE 中时 运行 它"home directory" 与 cmd 运行 时的脚本相同。
您可以在 PyCharm 中通过编辑 "Run/Debug Configurations" 中的工作目录来执行此操作。 查看此屏幕截图中的最后一个选项: