gpt4 book ai didi

python - 如何在 python os.path.exists 中使用变量

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:48:48 25 4
gpt4 key购买 nike

这是我的代码

[root@04 ~]# python
Python 2.4.3 (#1, May 5 2011, 16:39:10)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-50)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import os.path
>>> pid = open('/var/run/httpd.pid' , 'r').read()
>>> print pid
24154
>>> os.path.exists('/proc/',pid)
Traceback (most recent call last):
File "<stdin>", line 1, in ?
TypeError: exists() takes exactly 1 argument (2 given)

即使我尝试跟随,它也不起作用。我如何在 os.path.exists 命令中使用变量 pid

>>> os.path.exists('/proc/'+pid)
False
>>>

编辑:

如果我手动输入 PID 号就可以了

>>> print pid
24154

>>> os.path.exists('/proc/24154')
True
>>>

最佳答案

问题是 http.pid 不仅包含数字,还包含换行符。由于 Python 的 read 与 shell 的反引号不同,不会去除尾随的换行符,因此 pid 变量包含一个字符串,如 "12345\n" 和你的代码正在测试 "/proc/12345\n" 是否存在。

要更正问题,请调用 strip()在您从文件中读取的字符串上:

os.path.exists(os.path.join('/proc', pid.strip()))

关于python - 如何在 python os.path.exists 中使用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15228500/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com