小编kni*_*dan的帖子

使用命令行,Linux中的函数执行python脚本

我有我的python文件名为convertImage.py,在文件中我有一个脚本将图像转换为我喜欢的,整个转换脚本设置在一个名为convertFile(fileName)的函数中

现在我的问题是我需要从linux命令行执行这个python脚本,同时传递convertFile(fileName)函数.

例:

 linux user$: python convertImage.py convertFile(fileName)
Run Code Online (Sandbox Code Playgroud)

这应该执行传递适当函数的python脚本.

例:

def convertFile(fileName):

    import os, sys
    import Image
    import string

    splitName = string.split(fileName, "_")
    endName = splitName[2]
    splitTwo = string.split(endName, ".")
    userFolder = splitTwo[0]

    imageFile = "/var/www/uploads/tmp/"+fileName

    ...rest of the script...

    return
Run Code Online (Sandbox Code Playgroud)

执行此python脚本并将文件名从liunx命令行正确传递给函数的正确方法是什么?

谢谢高级

python linux shell command-line

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

在windows下从php执行python脚本

好的,这适用于我的Linux服务器,但我正在我的PC上测试我的网站,我正在尝试让PHP执行我的python脚本,当然\是WINDOWS只有当我在我的linux机器上时路径改变.

$pyscript = 'C:\\wamp\\www\\testing\\scripts\\imageHandle.py';
$python = 'C:\\Python27\\python.exe';
$filePath = 'C:\\wamp\\www\\testing\\uploads\\thumbs\\10-05-2012-523.jpeg'


exec('$python $pyscript $filePath', $output, $return );
Run Code Online (Sandbox Code Playgroud)

这适用于我的linux机器,但不适用于我的Windows测试服务器.如何让它在Windows上运行?哦,这也适用于直接从Windows命令提示符运行

编辑:

这是解决方案,因为您可以在答案中阅读.

$cmd = "$python $pyscript $filePath";
exec("$cmd", $output);
Run Code Online (Sandbox Code Playgroud)

奇迹般有效.将单个刻度改为双倍.

php python command-line

7
推荐指数
2
解决办法
1万
查看次数

php上传文件时,组和所有者权限是错误的

不确定这是php配置还是linux文件权限问题.我遇到的问题是当一个文件通过php使用move_uploaded_file()上传到组中设置为ubuntu并且所有者设置为www-data的目录时,上传的文件所有者权限更改为www-data导致问题我的python脚本进来并在上传的文件上执行任务.

例:

move_uploaded_file($tempFile,$targetSAVE);
Run Code Online (Sandbox Code Playgroud)

- $ targetSAVE目录设置为:

group: ubuntu
owner: www-data
permissions: 0755
Run Code Online (Sandbox Code Playgroud)

--php上传的文件将所有者更改为www-data

new file changes to:
  group: www-data  <-- need this set to *ubuntu*
  owner: www-data
  permissions: 0755
Run Code Online (Sandbox Code Playgroud)

--python脚本需要将上传文件的组设置为ubuntu

我如何配置php来设置所有权或上传文件组到ubuntu或如果这是一个Linux文件权限问题我该如何解决这个问题?

所有目录和子目录都设置为:group:ubuntu owner:ubuntu permissions:0755 除了文件上传到的目录,设置为:

group: ubuntu
owner: www-data
permissions: 0755 
Run Code Online (Sandbox Code Playgroud)

php linux permissions

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

标签 统计

command-line ×2

linux ×2

php ×2

python ×2

permissions ×1

shell ×1