如何使用命令提示符脚本查看我的声誉?
(使用PowerShell回复StackOverflow声誉,因为我很无聊.)
我正在寻找一个库/模块/包,我可以创建并签署X.509证书,并能够有条件地添加自定义v3扩展 - 这可能相当复杂; 例如,Kerberos PKINIT使用的这个bletchful OpenSSL.cnf片段,仅代表foo@EXAMPLE.ORG
:
[v3_extensions] subjectAltName = email:foo@example.org, otherName:pkinitSan;SEQUENCE:krb_princ_name_1 [krb_princ_name_1] realm = EXP:0, GeneralString:EXAMPLE.ORG principal_name = EXP:1, SEQUENCE:krb_princ_seq_1 [krb_princ_seq_1] name_type = EXP:0, INTEGER:1 name_string = EXP:0, SEQUENCE:krb_principal_1 [krb_principal_1] princ0 = GeneralString:foo
在我所知道的语言(包括Perl,Python,Ruby,PHP,Bash和一些C#)中找到的所有内容中,使用openssl
命令行和自动生成的.cnf文件...这是一个丑陋的过程.有没有更好的方法呢?(Ruby的'openssl'起初看起来非常好,但后来我到了PKINIT ...)
我的意思是摆脱文件名中的特殊字符等.
我制作了一个脚本,可以递归重命名文件[http://pastebin.com/raw.php?i=kXeHbDQw]:
例如:之前:
THIS i.s my file (1).txt
Run Code Online (Sandbox Code Playgroud)
运行脚本后:
This-i-s-my-file-1.txt
Run Code Online (Sandbox Code Playgroud)
好.这里是:
但是:当我想"完全"测试它时,文件名如下:
¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÂÃÄÅÆÇÈÊËÌÎÏÐÑÒÔÕרÙUÛUÝÞßàâãäåæçèêëìîïðñòôõ÷øùûýþÿ.txt
áíü?úö?óéÁÍÜ?ÚÖ?ÓÉ!"#$%&'()*+,:;<=>?@[\]^_`{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ¡¢£.txt
Run Code Online (Sandbox Code Playgroud)
它失败了[http://pastebin.com/raw.php?i=iu8Pwrnr]:
$ sh renamer.sh directorythathasthefiles
mv: cannot stat `./áíü?úö?óéÁÍÜ?ÚÖ?ÓÉ!"#$%&\'()*+,:;<=>?@[]^_`{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ¡¢£': No such file or directory
mv: cannot stat `./áíü?úö?óéÁÍÜ?ÚÖ?ÓÉ!"#$%&\'()*+,:;<=>?@[]^_`{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ¡¢£': No such file or directory
mv: cannot stat `./áíü?úö?óéÁÍÜ?ÚÖ?ÓÉ!"#$%&\'()*+,:;<=>?@[]^_`{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ¡¢£': No such file or directory
mv: cannot stat `./áíü?úö?óéÁÍÜ?ÚÖ?ÓÉ!"#$%&\'()*+,:;<=>?@[]^_`{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ¡¢£': No such file or directory
mv: cannot stat `./áíü?úö?óéÁÍÜ?ÚÖ?ÓÉ!"#$%&\'()*+,:;<=>?@[]^_`{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ¡¢£': No such file or directory
mv: cannot stat `./áíü?úö?óéÁÍÜ?ÚÖ?ÓÉ!"#$%&\'()*+,:;<=>?@[]^_`{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ¡¢£': No such file or directory
mv: cannot stat `./áíü?úö?óéÁÍÜ?ÚÖ?ÓÉ!"#$%&\'()*+,:;<=>?@[]^_`{|}~€‚ƒ„…†....and so on
$ …
Run Code Online (Sandbox Code Playgroud) 我正在尝试调用外部库函数,该函数返回以NULL结尾的以NULL结尾的字符串数组.
kernel32 = ctypes.windll.kernel32
buf = ctypes.create_unicode_buffer(1024)
length = ctypes.c_int32()
if kernel32.GetVolumePathNamesForVolumeNameW(ctypes.c_wchar_p(volume),
buf, ctypes.sizeof(buf), ctypes.pointer(length)):
## ???
Run Code Online (Sandbox Code Playgroud)
换一种说法:
buf = ctypes.create_unicode_buffer(u'Hello\0StackOverflow\0World!\0')
Run Code Online (Sandbox Code Playgroud)
如何访问Python列表的所有内容buf
? buf.value
只达到第一个NULL.
在C中它将是这样的:
while (*sz) {;
doStuff(sz);
sz += lstrlen(sz) + 1;
}
Run Code Online (Sandbox Code Playgroud)