python - 为什么我收到错误 : "buffsize musth be an integer" for mv shell command

标签 python shell

为什么我收到错误:“buffsize 必须是整数”

此行之后:

pid2 = subprocess.Popen(["mv"],glob.glob(os.path.basename(filename)+'[0-9]*'),folder);

这是一个简单的 mv 命令,带有博客 shell 扩展。

我想要像mv filename[0-9]*文件夹

最佳答案

首先,它是Python,所以行尾不需要分号。然后,您想要的是提供一个参数,即

pid2 = subprocess.Popen(["mv"] +
                        glob.glob(os.path.basename(filename)+'[0-9]*') +
                        [folder])

否则,您将指定 glob.glob 的结果作为 subprocess.Popen 的第二个参数 (bufsize) .

另请注意,调用 mv 是不必要的,Python 已经具有在 shutil.move 中实现的移动文件的功能。 :

for f in glob.glob(os.path.basename(filename)+'[0-9]*'):
    shutil.move(f, folder)

关于python - 为什么我收到错误 : "buffsize musth be an integer" for mv shell command,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7875597/

相关文章:

python - Statsmodels (Patsy) 非法变量名/'Series' 对象不可调用错误

linux - 为什么 start-stop-daemon 需要权限?

linux - 使用具有 xml 值的变量的 awk 模式匹配

python - 为什么 docker-compose python 找不到 Airflow 操作符的模块

python - 如何在 Python 中将我创建的索引写入文件

linux - 如何在 linux 中使用 ping 命令查找应用程序工作或关闭?

shell - 获取 Subversion 中最近 N 次提交的文件列表

里面的 shell # (( ))

python - Django:使用 mod_wsgi 创建的 SOCK 文件的权限错误

python - 在 Python 中创建简单的脚本语言