相关疑难解决方法(0)

如何检索模块的路径?

我想检测模块是否已更改.现在,使用inotify很简单,您只需要知道要从中获取通知的目录.

如何在python中检索模块的路径?

python module inotify

697
推荐指数
17
解决办法
55万
查看次数

如何在Python中获取当前文件目录的完整路径?

我想获取当前文件的目录路径.
我试过了:

>>> os.path.abspath(__file__)
'C:\\python27\\test.py'
Run Code Online (Sandbox Code Playgroud)

但是如何检索目录的路径?例如:

'C:\\python27\\'
Run Code Online (Sandbox Code Playgroud)

python directory

677
推荐指数
9
解决办法
101万
查看次数

如何获取当前正在执行的文件的路径和名称?

我有脚本调用其他脚本文件,但我需要获取当前在该进程中运行的文件的文件路径.

例如,假设我有三个文件.使用execfile:

  • script_1.py电话script_2.py.
  • 反过来,script_2.py打电话script_3.py.

我怎样才能获得的文件名和路径script_3.py,从内部代码script_3.py,而无需从传递这些信息作为参数script_2.py

(执行os.getcwd()返回原始起始脚本的文件路径而不是当前文件的.)

python scripting file

462
推荐指数
16
解决办法
51万
查看次数

如何正确确定当前脚本目录?

我想看看在python中确定当前脚本目录的最佳方法是什么?

我发现,由于调用python代码的方法很多,很难找到一个好的解决方案.

这是一些问题:

  • __file__如果脚本执行时未定义exec,execfile
  • __module__ 仅在模块中定义

用例:

  • ./myfile.py
  • python myfile.py
  • ./somedir/myfile.py
  • python somedir/myfile.py
  • execfile('myfile.py') (来自另一个脚本,可以位于另一个目录中,并且可以有另一个当前目录.

我知道没有完美的解决方案,但我正在寻找解决大多数情况的最佳方法.

最常用的方法是os.path.dirname(os.path.abspath(__file__)),如果你从另一个脚本执行脚本,这实际上不起作用exec().

警告

任何使用当前目录的解决方案都将失败,根据调用脚本的方式或者可以在运行的脚本中更改它,可能会有所不同.

python pythonpath dirname

229
推荐指数
8
解决办法
10万
查看次数

如何从脚本中找到Python运行脚本的目录?

如何从Python [3.3]中找到正在运行的Python脚本的目录?我尝试了以下建议:如何使用Python查找脚本的目录?,但我得到"语法无效"并指向"os"(我确实导入了os).

我得到答案的最接近的是:sys.argv [0],但仍然包含文件名,所以我不能使用它.还有其他方法吗?

注意:我对Python很新.

这是我到目前为止所做的一些代码(它表示rundir = sys.argv [0]的部分是建议的代码所在的部分):

import pygame
from pygame.locals import *
import os, sys
import time
pygame.init()

import statuscheck
print("Completed program status check.")

import mods.modlist
print("Loaded all mods..")

print("Completed loading")

sys.dont_write_bytecode = True

rundir = sys.argv[0]

print("Running from" + rundir)
Run Code Online (Sandbox Code Playgroud)

python directory

10
推荐指数
1
解决办法
1万
查看次数

努力追加我的sys.path的相对路径

所以有很多非常相似的问题,但没有一个答案似乎满足我正在寻找的东西.

基本上我在命令行中使用绝对目录运行python脚本.
在这个文件本身,我想导入一个模块/文件,我目前使用绝对路径来做这个(sys.path.append(/....).
但是我想使用一个相对路径,相对于脚本本身.
我似乎能做的就是追加相对于我目前工作目录的路径.

我该怎么做呢?

python relative-path

7
推荐指数
1
解决办法
2万
查看次数

在python目录外创建一个文件

我想在python中创建当前工作目录之外的文件.这是我的目录结构.

|--myproject
|   |-- gui
|   |   |-- modules
|   |   |   |-- energy
|   |   |   |   |-- configuration
|   |   |   |   |   |-- working_file.py
|   |-- service
|   |   |-- constants
|   |   |   |-- global_variables.json    
Run Code Online (Sandbox Code Playgroud)

我目前正在工作/myproject/gui/energy/configuration/working_file.py,我想在/myproject/service/constantsnamed 下创建一个文件global_variables.json

我试过了

with open("../../../../../service/constants/global_variables.json", 'w') as file_handler:
        content = json.load(file_handler)
Run Code Online (Sandbox Code Playgroud)

python file

5
推荐指数
1
解决办法
3838
查看次数

从Excel vba shell更改工作目录

为了工作,我正在尝试从Excel VBA宏运行Python脚本.

宏如下 -

Sub Plot()

Shell "C:\Users\maheshda\AppData\Local\Continuum\Anaconda3\python.exe C:\Users\maheshda\Tool\Tool\Main.py", vbNormalFocus

End Sub
Run Code Online (Sandbox Code Playgroud)

从命令行运行时脚本运行得很好,但不幸的是,因为我在Python脚本中使用相对文件路径(在某一点上,我从'../Input/'调用文件)脚本崩溃,因为当前工作目录不是C:\ Users\maheshda\Tool\Tool.

如何从宏中更改工作目录?谢谢!

excel vba excel-vba

5
推荐指数
1
解决办法
2万
查看次数