我得到一个这样的start_date:
from django.utils.timezone import utc
import datetime
start_date = datetime.datetime.utcnow().replace(tzinfo=utc)
end_date = datetime.datetime.utcnow().replace(tzinfo=utc)
duration = end_date - start_date
Run Code Online (Sandbox Code Playgroud)
我得到这样的输出:
datetime.timedelta(0, 5, 41038)
Run Code Online (Sandbox Code Playgroud)
如何将此转换为正常时间,如下所示?
这样10分钟,1小时
我有这样的查询:
file_s = Share.objects.filter(shared_user_id=log_id)
Run Code Online (Sandbox Code Playgroud)
现在,我想从Django视图中的file_s获取files_id属性.我怎样才能做到这一点?
我有一个代码的价格,将文件从服务器传输到本地机器.但是,用户输入的目录可能并不总是正确的.如果用户输入错误的目录,我试图显示错误.如果returncode不是None,我将显示错误.但这不起作用.无论程序抛出什么,它总是会else分开.
#!/usr/bin/python
import subprocess
result = subprocess.Popen(['sshpass', '-p', 'password', 'rsync', '-avz', '--info=progress2', 'username@host_name:/file_name', '/home/zurelsoft/test'],
stdout=subprocess.PIPE)
if result.returncode != None:
print "Directory Incorrect"
else:
print "Done"
print result
Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个每1分钟读取一次变量的函数,并返回每次的值.变量名是proc:
proc = subprocess.Popen(['sshpass', '-p', password, 'rsync', '-avz', '--info=progress2', source12, destination],
stderr=subprocess.PIPE, stdout=subprocess.PIPE).communicate()[0]
Run Code Online (Sandbox Code Playgroud)
进度存储在proc变量中.我希望函数每1分钟轮询一次变量并返回值.这样做直到变量执行时为止.最好的方法是什么?
尝试使用:
def doWork():
while True:
proc = subprocess.Popen(['sshpass', '-p', password, 'rsync', '-avz', '--info=progress2', source12, destination],
stderr=subprocess.PIPE, stdout=subprocess.PIPE).communicate()[0]stdout=subprocess.PIPE).communicate()[0]
data = sort(proc)
print data
time.sleep(10)
Run Code Online (Sandbox Code Playgroud)
虽然没有运气!它同时打印整个进度并循环.
我在Django中有这样的模型:
class File(models.Model):
users = models.ForeignKey(User)
file_name = models.CharField(max_length=100)
type = models.CharField(max_length=10)
source = models.CharField(max_length=100)
start_date = models.TextField()
end_date = models.TextField()
duration = models.TextField()
size = models.TextField()
flag = models.TextField()
#delete_date = models.CharField(max_length=100, null=True, blank=True)
class Share(models.Model):
users = models.ForeignKey(User)
files = models.ForeignKey(File)
shared_user_id = models.IntegerField()
shared_date = models.TextField()
Run Code Online (Sandbox Code Playgroud)
我正在尝试提取登录用户共享的文件.我只是在Share中查询
file_s = Share.objects.filter(users_id=log_id)
Run Code Online (Sandbox Code Playgroud)
这将提取登录用户共享的文件.因为,现在我知道登录用户共享了哪个文件,我试图从文件表中获取文件信息:
shared_file = File.objects.filter(users_id=file_s)
Run Code Online (Sandbox Code Playgroud)
但这是回归:
DatabaseError at /shared_by_me/
(1242, 'Subquery returns more than 1 row')
#my_views
def shared_by_me(request):
log_id = request.user.id
username = request.user.username
#shared_file = File.objects.filter(users_id=file) …Run Code Online (Sandbox Code Playgroud) 我有一个像这样的代码:
db = MySQLdb.connect(user='root', db='galaxy', passwd='devil', host='localhost')
cursor = db.cursor()
cursor.execute('SELECT username, password FROM galaxy_user')
names = [row[0] for row in cursor.fetchall()]
passw = [password[1] for password in cursor.fetchall()]
db.close()
Run Code Online (Sandbox Code Playgroud)
问题是我只能从以下代码访问名称或密码.有了这个,我只能得到用户名.我得到了passw的空列表.现在,如果我切换它:
passw = [row[1] for row in cursor.fetchall()]
names = [password[1] for password in cursor.fetchall()
Run Code Online (Sandbox Code Playgroud)
我得到了passw的值,但名字是空列表.发生了什么?
我有一个这样的列表:
remote = ['django', 'django/genelaytics', 'django/genelaytics/manage.py', 'django/genelaytics/rsync/rsync-HEAD-20121003-2147GMT']
Run Code Online (Sandbox Code Playgroud)
我发现每个列表的父目录使用for循环如下:
for i in remote:
os.path.dirname(i)
Run Code Online (Sandbox Code Playgroud)
我有另一个列表,我从用户选择中获得(仅包括文件名),如下所示:
choices = ['django', 'genelaytics', 'manage.py']
Run Code Online (Sandbox Code Playgroud)
要处理这个列表,我将需要使用for loop我上面提到的父目录.如何使用这两个列表来获取每个文件的完整路径并进行处理?
django/genelaytics
Run Code Online (Sandbox Code Playgroud)
编辑:列表可能并不总是从顶层开始.顶层也可能不总是相同.这就是我想找出每个文件的完整父目录的原因.例如:
django
genelaytics
.project
.pydevproject
manage.py
fileupload
__init__.py
__init__.pyc
form.html~
form
forms.py
forms.pyc
models.py
models.pyc
Run Code Online (Sandbox Code Playgroud)
该列表可能包含manage.py和forms.py.The full path for manage.py may be: django/genelaytics/manage.py and for forms.py django/genelaytics/forms/forms.py.它实际上是一个树形结构.也是django/genalaytics动态生成的,并且对每个用户都不同.所以,它不能是静态的.
我有一个简单的函数来读取csv文件并从中提取第一个coloum:
import csv
def pass_username():
with open('test.csv', 'r') as csvfile:
spamreader = csv.reader(csvfile, delimiter=',')
for row in spamreader:
return row[0]
Run Code Online (Sandbox Code Playgroud)
当我将此函数称为:
a = pass_username()
print a
Run Code Online (Sandbox Code Playgroud)
这只打印第一个元素.但是,当我return用printas 替换word print row[0]并调用函数时,pass_username()它会打印所有元素.我想将该函数分配给变量,因此我想使用return.怎么解决?
test.csv的内容:
"test@gmail.com","rockon"
"hello@gmail.com","hey"
"hithere@gmail.com","ok"
"hellosir@gmail.com","password"
Run Code Online (Sandbox Code Playgroud) 用户将输入主机名或IP地址.如果用户输入IP地址,我想保持原样,但如果用户输入主机名,我想使用以下方法将其转换为IP地址:
def convert(hostname):
command = subprocess.Popen(['host', hostname],
stdout=subprocess.PIPE).communicate()[0]
progress1 = re.findall(r'\d+.', command)
progress1 = ''.join(progress1)
return progress1
Run Code Online (Sandbox Code Playgroud)
我该怎么做?