小编pac*_*lik的帖子

通过shell脚本逃脱美元符号的字符串

假设我有一个名为dd.sh的脚本,我就像这样运行它

./dd.sh sample$name.mp4
Run Code Online (Sandbox Code Playgroud)

$1字符串也是如此sample$name.mp4.

echo '$1' // shows $1

echo "$1" // shows sample.mp4
Run Code Online (Sandbox Code Playgroud)

然后如何处理$1,我可以检测是否有一个美元符号参数$1

我想处理字符串sample\$name.mp4或只是检测参数中是否有美元符号$filename

bash shell

34
推荐指数
4
解决办法
4万
查看次数

熊猫 - 在分类数据中填写NaN

我正在尝试使用以下代码填充缺失值(NAN)

NAN_SUBSTITUTION_VALUE = 1
g = g.fillna(NAN_SUBSTITUTION_VALUE)
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误

ValueError: fill value must be in categories.
Run Code Online (Sandbox Code Playgroud)

请问任何人请注意这个错误.

python pandas

29
推荐指数
3
解决办法
3万
查看次数

使用setuptools创建deb或rpm - data_files

我有一个Python 3项目.

MKC
??? latex
?   ??? macros.tex
?   ??? main.tex
??? mkc
?   ??? cache.py
?   ??? __init__.py
?   ??? __main__.py
??? README.md
??? setup.py
??? stdeb.cfg
Run Code Online (Sandbox Code Playgroud)

在安装时,我想将我的乳胶文件移动到已知目录,比如说/usr/share/mkc/latex,所以我已经告诉setuptools要包含数据文件

data_files=[("/usr/share/mkc/latex",
             ["latex/macros.tex", "latex/main.tex"])],
Run Code Online (Sandbox Code Playgroud)

现在我跑的时候

./setup.py bdist --formats=rpm
Run Code Online (Sandbox Code Playgroud)

要么

./setup.py --command-packages=stdeb.command bdist_deb
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

error: can't copy 'latex/macros.tex': doesn't exist or not a regular file

运行./setup.py bdist正常,所以问题必须在包创建中.

python rpm setuptools deb python-3.x

12
推荐指数
1
解决办法
1063
查看次数

Django文件上传和重命名

用户正在上传特定问题的.c文件.我希望将文件重命名为'userid_questionid.c'

我的models.py是:

from django.db import models

class users(models.Model):
    username = models.CharField(max_length=20)
    password = models.CharField(max_length=20)
    score=models.IntegerField(max_length=3)
    def __unicode__(self):
        return self.username

class questions(models.Model):
    question = models.TextField(max_length=2000)
    qid=models.IntegerField(max_length=2)
    def __unicode__(self):
       return self.qid

def content_file_name(instance, filename):
    return '/'.join(['uploads', instance.questid.qid, filename])


class submission(models.Model):
    user = models.ForeignKey(users)
    questid = models.ForeignKey(questions)
    file = models.FileField(upload_to=content_file_name)
Run Code Online (Sandbox Code Playgroud)

我试过这个.但它只是创建用户的文件夹并将文件保存在其中.请帮忙.谢谢.我需要重命名该文件.

python django foreign-keys

8
推荐指数
1
解决办法
8268
查看次数

如何在vim中映射long bash命令?

shell命令可以杀死chrome进程.

ps -ef | grep chrome |awk '{print $2}'| xargs kill
Run Code Online (Sandbox Code Playgroud)

现在我想-用上面的bash命令映射字符.

nnoremap  -  :!ps -ef | grep chrome |awk '{print $2}'| xargs kill
Run Code Online (Sandbox Code Playgroud)

它不起作用,如何映射我的bash命令?

vim shell call

7
推荐指数
1
解决办法
451
查看次数

安装gobject模块?

我想使用dbus-python库(我只是pip安装它),它们提供了一些关于使两个程序进行通信的好例子.在其中一个.py文件中有一个"import gobject"行,当我运行这个例子时会产生一个"ImportError:No module named gobject".我想知道我应该安装什么来获得这个模块(我在Ubuntu上使用Python3).

当我使用python2.7这个导入工作和gobject.__file__变量包含:

/usr/lib/python2.7/dist-packages/gobject/__init__.pyc
Run Code Online (Sandbox Code Playgroud)

python ubuntu python-3.x

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

为什么列表乘法这么快?

创建列表时,我认为只要有可能就建议使用理解式,因为它是最快的。但你瞧。

In [1]: %timeit -n1000 [0]*1000000
1000 loops, best of 3: 2.3 ms per loop

In [2]: %timeit -n1000 [0 for _ in range(1000000)]
1000 loops, best of 3: 27.1 ms per loop

In [3]: a = np.zeros(1000000, dtype=int)

In [4]: %timeit -n1000 a.tolist()
1000 loops, best of 3: 7.93 ms per loop
Run Code Online (Sandbox Code Playgroud)

甚至numpy.ndarray.tolist连乘法都跟不上。这是为什么?

python performance python-3.x

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

在 IOS 10 swift 3 中未收到 FCM 通知

很长一段时间以来,我一直试图在我的 ios 应用程序中获取 firebase 推送通知。我已经尝试了互联网上我能找到的所有东西。但遗憾的是没有运气。
任何帮助,将不胜感激。

我正在通过 Firebase 控制台发送通知。有时当应用程序在前台运行时,最后一部分

extension AppDelegate : FIRMessagingDelegate {
    // Receive data message on iOS 10 devices.
    func applicationReceivedRemoteMessage(_ remoteMessage: FIRMessagingRemoteMessage) {
        print("noti recieve remote notification in extesnion")
         print("%@ debug", remoteMessage)
        print("%@", remoteMessage.appData)

    }
Run Code Online (Sandbox Code Playgroud)

被调用,但当应用程序在后台时没有任何反应。我在功能中启用了“推送通知”和“后台模式”。

我仅在 ios 10 设备中对此进行了测试。

这是我的代码 AppDelegate.swift

import UIKit
import FirebaseMessaging
import Firebase
import UserNotifications
import FirebaseInstanceID

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?


    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        FIRApp.configure()


     /*   let notificationType …
Run Code Online (Sandbox Code Playgroud)

ios firebase swift swift3 firebase-cloud-messaging

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

从包含组的文件中获取每个第n行,并且在列中给出n

我在这里这里看到如何返回每一行; 但我的问题不同.文件中的单独列提供有关要返回的第n个元素的详细信息; 根据小组不同而不同.以下是数据集的示例,其中Nth列提供要返回的行.也就是说,对于Ida每3行和Idb每4个一排.数据相当大,有几个Id小组.

Id  TagNo   Nth
a   A-A-3   3
a   A-A-1   3
a   A-A-5   3
a   A-A-2   3
a   AX-45   3
a   AX-33   3
b   B-B-5   4
b   B-B-4   4
b   B-B-3   4
b   BX-B2   4 
Run Code Online (Sandbox Code Playgroud)

期望的输出:

Id  TagNo   Nth
 a  A-A-3   3
 a  A-A-2   3
 b  B-B-5   4
Run Code Online (Sandbox Code Playgroud)

谢谢您的帮助.

编辑:请注意我想从first每个第n项开始挑选; 这是第3 a和第4 b.对于组a,它将1st,4th, 7th …

python bash shell awk r

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

绕过bash中的退出代码

所以我有一个小脚本应该通过不同的服务器SSH到1000个左右的帐户,如下所示.

for account in $(cat $SSH_LIST)
  do echo -e "\n$account\n"
  SERVER=$(echo $account | cut -d',' -f1 | awk '{print tolower($0)}') ; USER=$(echo $account | cut -d',' -f2) ; PASS=$(echo $account | cut -d',' -f3)
  sshpass -p $PASS ssh -o StrictHostKeyChecking=no $USER@$SERVER "ls passwd.cdb && exit"
Run Code Online (Sandbox Code Playgroud)

问题是,当ssh命中权限被拒绝时,脚本退出.可以理解的是,SSH Permission Denied就像退出代码一样,退出了脚本.我需要它来简单地记录被拒绝的许可并继续它的快乐方式SSH'ing.

有什么建议?

linux ssh bash shell

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