相关疑难解决方法(0)

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

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

例如,假设我有三个文件.使用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万
查看次数

我应该使用`import os.path`还是`import os`?

根据官方文档,os.path是一个模块.那么,导入它的首选方式是什么?

# Should I always import it explicitly?
import os.path
Run Code Online (Sandbox Code Playgroud)

要么...

# Is importing os enough?
import os
Run Code Online (Sandbox Code Playgroud)

请不要回答" os为我导入作品".我知道,它现在也适用于我(从Python 2.6开始).我想知道的是关于这个问题的任何官方建议.因此,如果您回答此问题,请发布您的推荐信.

python coding-style python-import

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

__file__和sys.argv [0]之间的区别

之间有什么区别:

__file__

sys.argv[0]

因为两者似乎都在做同样的事情:他们拥有脚本的名称.

如果没有差别,那么为什么__file__几乎所有的地方都使用它,而我从未见过sys.argv[0]被使用过.

python

24
推荐指数
2
解决办法
4236
查看次数

如何获取正在运行的Python脚本的名称?

如何获取正在运行的Python脚本的名称?

我试过os.__file__但是返回了os所在文件的名称.

python

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

如何让python脚本自行更改?

如何让python脚本自行更改?

为了简化它,我想有一个run.py像这样的python脚本()

a = 0
b = 1
print a + b
# do something here such that the first line of this script reads a = 1
Run Code Online (Sandbox Code Playgroud)

这样下次运行脚本时就会看起来像

a = 1
b = 1
print a + b
# do something here such that the first line of this script reads a = 2
Run Code Online (Sandbox Code Playgroud)

这有可能吗?该脚本可能使用外部资源; 但是,一切都应该只运行一个run.py文件.

编辑:它可能不够清楚,但脚本应该更新自己,而不是任何其他文件.当然,一旦你允许在脚本旁边有一个简单的配置文件,这个任务就很简单了.

回答:

它实际上比想象容易得多.@khelwood的建议工作正常,打开脚本并将其自己的内容写入其中是完全没有问题的.@ Gerrat的解决方案也很好用.这就是我的方式:

# -*- coding: utf-8 -*-
a = 0
b = 1
print a + b …
Run Code Online (Sandbox Code Playgroud)

python interpreter runtime

9
推荐指数
2
解决办法
6069
查看次数

inspect.getfile()vs inspect.getsourcefile()

我刚刚通过了检查模块文档.

究竟有什么区别:

inspect.getfile()
Run Code Online (Sandbox Code Playgroud)

inspect.getsourcefile()
Run Code Online (Sandbox Code Playgroud)

我得到两个完全相同的文件路径(模块).

python

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

让python脚本复制自己的最佳方式?

我正在将 python 用于科学应用程序。我使用各种参数运行模拟,我的脚本将数据输出到该参数集的适当目录。后来我使用这些数据。但是有时我会编辑我的脚本;为了能够在需要时重现我的结果,我想要一份用于生成数据的脚本的任何版本的副本,这些数据就在包含数据的目录中。所以基本上我想让我的python脚本将自己复制到数据目录。做到这一点的最佳方法是什么?

谢谢!

python scientific-computing

4
推荐指数
2
解决办法
5700
查看次数