我有一个文本文件text1.txt
,其中包含:
username
password
如何将这些参数从text1.txt
读入我的.cgi
脚本?
我使用此代码:
f = open('text1.txt', "r")
user = f.readline()
pass = f.readline()
$MAIN_AUTH = 'user':'pass' ;
这不起作用。
如果我直接插入用户并传递它:
$MAIN_AUTH = 'username:password' ;
但是从文本文件中读取它时不起作用。
答案 0 :(得分:0)
如果您使用readline()
,则在两个变量的末尾会有换行符。
因此,如果是Python,则需要调用rstrip()
,如果是Perl,则需要chomp()
。
答案 1 :(得分:0)
您使用的整体逻辑几乎没问题,但语法不是,并且有一些细节。因为你说行$MAIN_AUTH = 'username:password';
有效,我假设你有Perl代码。在Python(afaik)中不允许使用$
启动变量。
use strict; use warnings 'all';
。它会告诉您脚本中最常见的错误。open
的返回代码,看它是否有效。chomp
应用于每一行,将其删除以进行进一步处理。总而言之,我最终得到了这个:
#!/usr/bin/env perl
use strict;
use warnings 'all';
open( my $fh, '<', '/path/to/text1.txt' ) or die "Cannot open file: $!\n";
my ($user, $pass) = (<$fh>, <$fh>); # read first two lines
chomp($user, $pass); # strip off trailing "\n" from both
close($fh);
my $MAIN_AUTH = "$user:$pass";
print "'$MAIN_AUTH'\n";
输出:
'username:password'