程序移植 各位帮忙看一下

本帖最后由 jizhanlong 于 2011-06-01 15:52 编辑

# coding=utf-8
import os
import MySQLdb
from django.shortcuts import render_to_response
from django.http import HttpResponseRedirect
from django.http import HttpResponse

def isRecordExist(sql):
        cursor = connection.cursor()
        try:
                cursor.execute(sql)
        except Exception, e:
                return False
        rows = cursor.fetchall()

        #for i in range(len(rows)):
        #        for j in range(len(rows)):
        #                print rows[j], " "
        if(len(rows) > 0):
                return True
        else:
                return False

def isFileExists(fileName):
    return os.path.exists(fileName)

def isDir(path):
    return os.path.isdir(path)

def isSharedPath(path):
    global _sharedDir
    if(_sharedDir.endswith("/"):
        return path.startswith(_sharedDir)
    else:
        return path.startswith(_sharedDir+"/"

def newSimTaskSubmit(request):
    taskName = request.POST.get('TASKNAME', None).strip()
    userName = request.session.get('userName', None)
    dir = request.POST.get('PROGRAMDIR', None).strip()
    programName = request.POST.get('PROGRAMNAME', None).strip()
    comment = request.POST.get('COMMENT', None)
    comment = comment.replace("\"", "'"

    #find from all users.
    sql = "select taskName from resolveTask_task where taskName='%s'" %(taskName)
    if(common.isRecordExist(sql)):
        return HttpResponse(u"错误: 仿真任务名'"+taskName+u"'已存在"

    if(dir.endswith("/"):
                dir = dir[0len(dir)-1)]

        tmpDir = dir.encode('UTF-8')
        if(tmpDir[0] != "/":
                return HttpResponse(u"错误: 文件目录必须以'/'开始"

        if(not common.isFileExists(tmpDir)):
                return HttpResponse(u"错误: '"+dir+u"'不存在"

        if(not common.isFileExists(tmpDir+"/supe.par"):
                return HttpResponse(u"错误: '"+dir+u"/supe.par'不存在"

        if(not common.isDir(dir)):
                return HttpResponse(u"错误: '"+dir+u"'不是一个目录")

        if(not common.isSharedPath(tmpDir)):
                return HttpResponse(u"错误: '"+dir+u"'不是共享目录")

    ####################

        tmpProgramName = programName.encode('UTF-8')
        if(tmpProgramName.find("/") >= 0):
        return HttpResponse(u"错误: 可执行程序位于"+dir+u"目录下,不要使用绝对路径")
程序后面还有,但目前一直卡在这块前进不了了,这是别人在linux下编的一段程序 我想把它变成windows的,if(tmpDir[0] != "/"): 从这句往后不知道该怎么改了 我的本意是可以让用户根据当前系统下现有盘符进行操作,并进行判断用户所选的盘符是否有效,还有就是如何解决共享目录问题,望各位多指点

表情符号是怎么回事

作者: jizhanlong   发布时间: 2011-06-01



QUOTE:
# coding=utf-8
我的本意是可以让用户根据当前系统下现有盘符进行操作,并进行判断用户所选的盘符是否有效 ...
jizhanlong 发表于 2011-06-01 15:48

  1. import  win32file
  2. import  win32api
  3. drivers=win32api.GetLogicalDriveStrings().split('\0')
  4. for drive in drivers[:]:
  5.     if win32file.GetDriveType(drive) != win32file.DRIVE_FIXED:
  6.         drivers.remove(drive)
复制代码
这样就可以得到有效的本地磁盘,然后if(tmpDir[0] not in  drivers): ...     仅供参考。

作者: 106033177   发布时间: 2011-06-01