在Python中,我可以使用哪些命令来查找:
我正在尝试将shell脚本移植到更易读的python版本.原始shell脚本在后台使用"&"启动多个进程(实用程序,监视器等).如何在python中实现相同的效果?我希望这些进程不会在python脚本完成时死掉.我确信它与守护进程的概念有某种关系,但我无法轻易找到如何做到这一点.
我在Windows 7上使用Python 3.2.当我打开Python shell时,我如何知道当前目录是什么以及如何将其更改为我的模块所在的另一个目录?
我每分钟从crontab运行一个python shell:
* * * * * /home/udi/foo/bar.py
Run Code Online (Sandbox Code Playgroud)
/home/udi/foo有一些必要的子目录,比如/home/udi/foo/log和/home/udi/foo/config,/home/udi/foo/bar.py指的是.
问题是crontab从不同的工作目录运行脚本,因此尝试打开./log/bar.log失败.
有没有一种很好的方法告诉脚本将工作目录更改为脚本自己的目录?我想要一个适用于任何脚本位置的解决方案,而不是明确地告诉脚本它在哪里.
编辑:
os.chdir(os.path.dirname(sys.argv[0]))
Run Code Online (Sandbox Code Playgroud)
是最紧凑的优雅解决方案.感谢您的回答和解释!
如何在python中创建临时目录并获取路径/文件名
出于某种原因,我的代码无法打开一个简单的文件:
这是代码:
file1 = open('recentlyUpdated.yaml')
Run Code Online (Sandbox Code Playgroud)
错误是:
IOError: [Errno 2] No such file or directory: 'recentlyUpdated.yaml'
Run Code Online (Sandbox Code Playgroud)
open()的完整路径,似乎没有任何工作.我正在努力:http://flask.pocoo.org/docs/1.0/tutorial/
我在/ flaskr /目录中编写了__init__.py代码(这里是代码:http://codepad.org/4FGIE901),设置了一个名为'venv'的虚拟环境并安装了Flask.
然后我跑这些命令-在命令行上,在flaskr目录-为"运行应用程序"建议:( ,export FLASK_APP=flaskr,)export FLASK_ENV=developmentflask run
我应该看到的是 Hello, World!
相反,我遇到了以下错误:
Traceback (most recent call last):
File "/Users/David/Desktop/flaskr/venv/lib/python3.6/site-packages/flask/cli.py", line 330, in __call__
rv = self._load_unlocked()
File "/Users/David/Desktop/flaskr/venv/lib/python3.6/site-packages/flask/cli.py", line 317, in _load_unlocked
self._app = rv = self.loader()
File "/Users/David/Desktop/flaskr/venv/lib/python3.6/site-packages/flask/cli.py", line 372, in load_app
app = locate_app(self, import_name, name)
File "/Users/David/Desktop/flaskr/venv/lib/python3.6/site-packages/flask/cli.py", line 246, in locate_app
'Could not import "{name}".'.format(name=module_name)
flask.cli.NoAppException: Could not import "flaskr.flaskr".
Run Code Online (Sandbox Code Playgroud)
简单地说,我不确定我应该如何回应或修复这样的错误.也许我在venv中安装的不匹配以及这个特定项目需要什么?
喜欢这个人:无法导入Pandas:TypeError
烧瓶:
/Users/David/Desktop/flaskr/venv/bin/Flask …使用Python pathlib (文档)功能更改目录的预期方法是什么?
让我们假设我创建一个Path对象如下:
from pathlib import Path
path = Path('/etc')
Run Code Online (Sandbox Code Playgroud)
目前我只知道以下内容,但这似乎破坏了这个想法pathlib.
import os
os.chdir(str(path))
Run Code Online (Sandbox Code Playgroud) 我想实现一个userland命令,它将获取其一个参数(路径)并将目录更改为该目录.程序完成后,我希望shell在该目录中.所以我想实现cd命令,但是使用外部程序.
它可以在python脚本中完成,还是我必须编写bash包装器?
例:
tdi@bayes:/home/$>python cd.py tdi
tdi@bayes:/home/tdi$>
Run Code Online (Sandbox Code Playgroud)