我需要弄清楚solaris盒子的硬盘名称,我不清楚设备名称是什么.在linux上,它会是/dev/hda或者类似的东西/dev/sda,但是在solaris上,我在分区中有点丢失以及设备被调用了什么.我认为条目就像/dev/rdsk/c0t0d0s0是分区,整个硬盘是如何引用的?
我有一个test.txtzip存档内的文件test.zip.test.txt当压缩时,权限不受我的控制,但现在我希望它们可以进行组写.我正在使用Python解压缩文件,并且不想逃避到shell.
编辑: 这是我到目前为止所得到的:
import zipfile
z = zipfile.ZipFile('test.zip', 'w')
zi = zipfile.ZipInfo('test.txt')
zi.external_attr = 0777 << 16L
z.writestr(zi, 'FOO')
z.close()
z = zipfile.ZipFile('test.zip', 'r')
for name in z.namelist():
newFile = open(name, "wb")
newFile.write(z.read(name))
newFile.close()
z.close()
Run Code Online (Sandbox Code Playgroud)
这在使用2.5.1的OS X上完美运行,但它在我的主页框(Debian,Python 2.4和2.5)或使用Python 2.4的RHEL 5上不起作用.除了OS X之外,它不会出错,但也不会更改权限.有什么想法吗?另外,writestr()工作怎么样?我知道我在这里错误地使用它.
有没有办法在没有的情况下执行此操作os.chmod(提取文件的用户在提取os.chmod后没有权限使用)?我对zip文件有完全写入权限.
更多信息:
> ls -l test.zip
-rwxrwxrwx 1 myuser mygroup 2008-11-11 13:24 test.zip
> unzip test.zip
Archive: test.zip
inflating: test.txt
> ls -l test.txt
-rw-r--r-- 1 myuser …Run Code Online (Sandbox Code Playgroud) 我文件的最后一行是:
29 DEZ,40,
如何修改该行,使其显示为:
29费尔南德斯,40,90,100,50
注意:我不想写新的一行.我想采用相同的行并在之后添加新值29-Dez,40,
我是python的新手.我在操作文件时遇到了很多麻烦,对我而言,我看到的每个例子都很难.
我正在使用django,当用户访问www.website.com/时,我想将它们指向索引视图.
现在我这样做:
(r'^$', 'ideas.idea.views.index'),
Run Code Online (Sandbox Code Playgroud)
但是,它不起作用.我假设我的正则表达式是错误的.谁能帮我吗?我看过python正则表达式,但他们没有帮助我.
我有一节课:
class MyClass(object):
@property
def myproperty(self):
return 'hello'
Run Code Online (Sandbox Code Playgroud)
使用mox和py.test,我如何模拟myproperty?
我试过了:
mock.StubOutWithMock(myclass, 'myproperty')
myclass.myproperty = 'goodbye'
Run Code Online (Sandbox Code Playgroud)
和
mock.StubOutWithMock(myclass, 'myproperty')
myclass.myproperty.AndReturns('goodbye')
Run Code Online (Sandbox Code Playgroud)
但都失败了AttributeError: can't set attribute.
我有一个元类:
class MyMeta(type):
def __init__(cls, name, bases, dct):
# Do something
...
return super(MyMeta, cls).__init__(cls, name, bases, dct)
Run Code Online (Sandbox Code Playgroud)
和一个班级:
class MyClass(object):
__metaclass__ = MyMeta
Run Code Online (Sandbox Code Playgroud)
当我使用这些时,我收到以下错误:
TypeError: Error when calling the metaclass bases
type.__init__() takes 1 or 3 arguments
Run Code Online (Sandbox Code Playgroud)
问题是什么?为什么type.__init__()要采用精确可变数量的参数?
我最近经历了一些我们的Windows python 2.4代码,并遇到这个:
self.logfile = open(self.logfile_name, "wua")
Run Code Online (Sandbox Code Playgroud)
我知道什么w,u并且a自己做,但是当你把它们结合起来会发生什么?
是否可以在.htaccess中检测iPhone浏览器代理并将用户重定向到正确的iPhone页面?
我正在使用python创建一个简单的服务器应用程序,我正在尝试将IP绑定到侦听套接字.我看过的一个例子使用了这个:
HOST = gethostbyaddr(gethostname())
Run Code Online (Sandbox Code Playgroud)
在此之后稍微处理一下,它应该只给出主机IP作为字符串.这应该返回IPv4地址.但是当我运行此代码时,它会返回我的IPv6地址.为什么这样做以及如何获取我的IPv4地址?
如果相关,我使用的是windows vista和python 2.5
如何将以下代码打印到.txt文件
y = '10.1.1.' # /24 network,
for x in range(255):
x += 1
print y + str(x) # not happy that it's in string, but how to print it into a.txt
Run Code Online (Sandbox Code Playgroud)
有复制粘贴,但宁愿尝试更有趣的东西.
前几天我发现了一个启示.当尝试使用图像创建提交按钮时,我遇到了一个问题,其中图像没有显示但value文本是.当时,这不是我想要的,但现在,当我回顾过去时,我看到了一些潜在的用途.
如果您需要将数据发送到另一个页面,但没有一个需要用户输入,您可以通过链接(或表单)通过表单GET或通过表单来发送数据POST.问题是前者创建了丑陋的URL,而后者需要一个submit看起来不合适的按钮.当然,我可以想出一个图像,但是如果我只想要可选文本呢?
所以,我开始玩了一下,Firefox似乎呈现了我想要的内容,作为提交表单的可点击链接.您所要做的就是src从input type='image'标记中删除属性:
<form action='some_page' method='post'>
<input type='hidden' name='email_address' value='test@test.com' />
<input type='image' value='E-mail User' />
</form>
Run Code Online (Sandbox Code Playgroud)
此解决方案是否适用于其他浏览器?这样做有什么缺点(除了你的链接CSS没有正确应用的明显事实)?
python ×8
file ×2
.htaccess ×1
apache ×1
css ×1
django ×1
django-urls ×1
forms ×1
html ×1
ip-address ×1
iphone ×1
ipv4 ×1
ipv6 ×1
metaclass ×1
mocking ×1
mox ×1
properties ×1
python-2.x ×1
regex ×1
sockets ×1
solaris ×1
text ×1
user-agent ×1
zip ×1
zipfile ×1