小编lea*_*erX的帖子

如何在不删除原始内容的情况下在文本文件中的特定位置写入?

我用 Python 编写了一个代码,它遍历文件,提取所有数字,将它们相加。我现在必须在文件中的特定位置写下“总计”(一个整数)something something something...Total: __00__ something something

我必须在Total: __部分之后写出我计算的总数,这意味着结果行将更改为,例如:something something something...Total: __35__ something something

到目前为止,我在写部分有这个:

import re
f1 = open("filename.txt", 'r+')
for line in f1:
    if '__' in line and 'Total:' in line:
        location = re.search(r'__', line)
print(location)
Run Code Online (Sandbox Code Playgroud)

这打印出来: <_sre.SRE_Match object; span=(21, 23), match='__'>

所以它在位置 21 到 23 处找到了“__”,这意味着我想在位置 24 处插入总数。我知道我必须以某种方式使用该seek()方法来做到这一点。但是我试过几次都失败了。任何建议,将不胜感激。

重要提示:文件的原始内容将按原样保留。只有总的变化——没有别的。

python seek file-writing python-3.x

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

如何在 R 或 Matlab 中将这种不规则间隔的时间序列转换(插值)为规则间隔的时间序列?

我有以下数据:

Lines = "20/03/2014,9996792524
21/04/2014,8479115468
21/09/2014,11394750532
16/10/2014,9594869828
18/11/2014,10850291677
08/12/2014,10475635302
22/01/2015,10116010939
26/02/2015,11206949341
20/03/2015,11975140317
09/04/2015,11526960332
29/04/2015,9986194500
16/09/2015,11501088256
13/10/2015,11833183163
10/11/2015,13246940910
16/12/2015,13255698568
27/01/2016,13775653990
23/02/2016,13567323648
22/03/2016,14607415705
11/04/2016,13835444224
04/04/2016,14118970743"
Run Code Online (Sandbox Code Playgroud)

我把这个读到 R 中:

z <- read.zoo(text = Lines, sep = ",", header = TRUE, index = 1:1, tz = "", format = "%d/%m/%Y")
Run Code Online (Sandbox Code Playgroud)

我希望插入数据,以便可以将这个不规则间隔的时间序列转换为规则的时间序列。只要是有规律的,时间间隔并不重要,但每月、每周或每两周一次的间隔都可以。

我该如何在Ror中执行此操作Matlab

注意:我意识到插值可能不是很准确,并且可能会歪曲信息,但是我需要学习如何做到这一点,并且我可以接受失去一些准确性。

matlab interpolation r time-series forecasting

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

如何使用Scapy确定无线加密类型?

我正在进行无线网络的安全研究,该研究涉及编码一个小工具,用于扫描附近的Wifi接入点.根据发现的加密类型,它继续进行其他一些安全测试.

到目前为止,我有一个python代码,它使用Scapy枚举不同的访问点,以及它们是否启用了加密(Enc = Y或Enc = N).这个代码是:

def sniffAP(p):
    if ( (p.haslayer(Dot11Beacon) or p.haslayer(Dot11ProbeResp))
                 and not aps.has_key(p[Dot11].addr3)):
        ssid       = p[Dot11Elt].info
        bssid      = p[Dot11].addr3
        channel    = int( ord(p[Dot11Elt:3].info))
        capability = p.sprintf("{Dot11Beacon:%Dot11Beacon.cap%}\
                {Dot11ProbeResp:%Dot11ProbeResp.cap%}")

        # Check for encrypted networks
        if re.search("privacy", capability): enc = 'Y'
        else: enc  = 'N'
Run Code Online (Sandbox Code Playgroud)

我想要的是能够使用python和scapy区分不同的加密类型(WEP,WPA,WPA2,WPS).有任何想法吗?

python security scapy wifi

4
推荐指数
1
解决办法
5345
查看次数

程序和所有开关一起运行很好,但是argparse' - help'会引发很多错误

我在Python中使用argparse来处理程序中的参数.例如,如下所示,如果我使用参数'-p',则执行特定模块.现在,所有论点和程序运行良好.但是当我试图为我的程序获得' - help'时,它会崩溃(图像).

这是与argparse相关的代码:

parser = argparse.ArgumentParser(description="something1.")
parser.add_argument('-x', '--xoo', help='something2', action='store_true')
parser.add_argument('-a', '--al', help='something3', action='store_true')
parser.add_argument('-c', '--conv', help='something4', type=float)
parser.add_argument('-p', '--pay', help='something5', type=float)
args = parser.parse_args()
Run Code Online (Sandbox Code Playgroud)

关于如何纠正这个错误的任何想法?

$ ./xoom.py -h
Traceback (most recent call last):
  File "./xoom.py", line 46, in <module>
    args = parser.parse_args()
  File "/usr/lib/python2.7/argparse.py", line 1688, in parse_args
    args, argv = self.parse_known_args(args, namespace)
  File "/usr/lib/python2.7/argparse.py", line 1723, in parse_known_args
    namespace, args = self._parse_known_args(args, namespace)
  File "/usr/lib/python2.7/argparse.py", line 1929, in _parse_known_args
    start_index = consume_optional(start_index)
  File "/usr/lib/python2.7/argparse.py", line 1869, in …
Run Code Online (Sandbox Code Playgroud)

python debugging argparse

3
推荐指数
1
解决办法
401
查看次数

如何计算bash中一行的长度,以便排除缩进空格?

我希望强制执行一条规则,即python代码中的任何行都不得超过80个字符.为此,我使用bash脚本计算文件中整行的长度.但是,我需要排除用于缩进的起始空格.我希望从行中第一个字符的位置开始计算,直到最后一个字符:例如:

    this is an example line
Run Code Online (Sandbox Code Playgroud)

length()需要返回(31-8 = 23)而不是31.

如何做到这一点使用sed,awkgrep查询?

bash awk grep sed

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

Java Split()函数给出Null指针异常错误

public class url {


 public static void main(String[] args) throws Exception {

    URL imdb = new URL("http://www.omdbapi.com/?t=The%20incredible%20Hulk");

    URLConnection yc = imdb.openConnection();

    BufferedReader in = new BufferedReader(new InputStreamReader(
                                yc.getInputStream()));
    String inputLine;

    while ((inputLine = in.readLine()) != null) 
        System.out.println(inputLine);

    String[] strarr = inputLine.split(",");


    System.out.println("splits.size: " + strarr.length);

    in.close();
}
}
Run Code Online (Sandbox Code Playgroud)

错误是:"线程中的异常"主"java.lang.NullPointerException at imdb.url.main(url.java:25)"

请向我解释如何删除它.我使用分割函数和空指针异常搜索了很多,但是我无法理解我做错了什么.

java nullpointerexception

0
推荐指数
2
解决办法
3631
查看次数

从文件[Python]每隔Nth(第8个字符)打印

我有一个很长的比特序列,我从文件中转储.现在,我想采用这个位序列,并能够从中提取每个第8位.例如:

100010010101000001001110010001110000110100001010
000110100000101000000000000000000000000000001101
010010010100100001000100010100100000000000000000
etc
Run Code Online (Sandbox Code Playgroud)

会给:

100110
(extraction from second line)
(extraction from third line)
etc
Run Code Online (Sandbox Code Playgroud)

到目前为止,我有以下代码:

 #/usr/bin/python

 with open("thebits.txt", 'r') as f:
        content = [x.strip('\n') for x in f.readlines()]
        {//logic to extract every 8th bit from each line and print it}
Run Code Online (Sandbox Code Playgroud)

如何从每一行中提取每个第8位?.

python file-io loops function

0
推荐指数
1
解决办法
1717
查看次数

错误:Python 3 中的“‘ascii’编解码器无法解码字节 0xd8”

我编写了一个程序,它递归地搜索文件夹中具有特定扩展名的文件并进行一些处理。奇怪的是,该程序在处理大约 85 个文件时运行良好,然后每次在同一文件上都会崩溃。我不认为该文件或文件名有什么不同。因为它对于 85 个文件运行良好,所以我知道错误不是关于我的代码本身,而是更多关于错误的编译器?

操作系统:Linux arctic 3.2.0-4-amd64 #1 SMP Debian 3.2.68-1+deb7u1 x86_64 GNU/Linux

错误详细信息(完整回溯):

Traceback (most recent call last):
  File "scoretotal.py", line 98, in <module>
    main()   
  File "scoretotal.py", line 96, in main
    find_score_files()
  File "scoretotal.py", line 89, in find_score_files
    total = calculate_total((os.path.join(root,filename)))
  File "scoretotal.py", line 14, in calculate_total
    lines = file_object_read.read()
  File    "/soft/linux/bin/../python3.3.3/lib/python3.3/encodings/ascii.py", line 26, in decode
    return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xd8 in position 17: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)

我在跑Python 3.3.3。根据我在网上的研究,它可能与 …

python unicode utf-8 python-3.3

0
推荐指数
1
解决办法
3354
查看次数

图像中的隐写术

到目前为止,我已经在十六进制编辑器中打开了图像并查看了字节。但是,对于我的一生,我无法识别声音。我花了几天的时间。我什至尝试用Audacity打开文件(作为“原始数据”)并播放它。只是“噪音”。试图创建直方图/频率分析,但一无所获。

任何帮助,将不胜感激。

audio steganography image hex-editors

-3
推荐指数
1
解决办法
373
查看次数

如何在FindNextFileW中跳过点(。)和点(..)?

FindNextFileW用来成功列出目录中的文件。问题在于,它使用引用自身,当前目录,并使用引用.父目录..。我试图使用if条件跳过这些,但它仍然会打印它们。

码:

int wmain() {

WIN32_FIND_DATAW data;
std::wstring dir = L"c:\\* ";
HANDLE hFind = FindFirstFileW(dir.c_str(), &data);

if (hFind != INVALID_HANDLE_VALUE) {
    do {
        wchar_t dot[] = L"." ;
        wchar_t dotd[] = L"..";

        if ( data.cFileName != dot && data.cFileName != dotd)
        std::wcout << data.cFileName << std::endl;
    } while (FindNextFileW(hFind, &data));
    FindClose(hFind);
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,我想跳过的印刷...使用的if条件。但是,它仍然打印它们。我在做什么错,我该如何解决?

编辑:

这个问题不是关于wchar_t数组无法比较的问题。很高兴知道这一点,但最终我的问题是如何跳过.and ..in FindNextFileW …

c++ windows winapi

-4
推荐指数
1
解决办法
86
查看次数