gpt4 book ai didi

python - 类型错误 : bufsize must be an integer?

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

我正在制作一个小程序,我可以使用它的默认编辑器从计算机的任何部分打开文件。这是我的代码:

from os import *
import subprocess
print("Welcome to my File Finder. Here you can search for a file and open it.")
file_name = str(input("Your file's name:"))
print(subprocess.call(["xdg-open"], file_name))]

但是它没有打开,而是返回了这个错误:

Traceback (most recent call last):
File "Important_tester_projects.py", line 6, in <module>
print(subprocess.call(["xdg-open"], file_name))
File "/usr/lib/python3.6/subprocess.py", line 267, in call
with Popen(*popenargs, **kwargs) as p:
File "/usr/lib/python3.6/subprocess.py", line 609, in __init__
raise TypeError("bufsize must be an integer")
TypeError: bufsize must be an integer

我已经用谷歌搜索了这个错误的解决方案,但我找不到任何似乎可以解决我的问题的方法。如何解决我的错误?

注意:我的 Linux 操作系统使用 XFCE,而不是 Gnome。

最佳答案

相反,使用 subprocess.check_output()。由于您的命令有多个单词,请使用 shlex 中的 split() 方法解析您的命令库。像这样:

import subprocess
import shlex

cmd=shlex.split('[find][2] root_dir -name file_name')
print subprocess.check_output(cmd)

关于python - 类型错误 : bufsize must be an integer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51529415/

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